C++ 语言的基本元素
C++ 是 C 的超集,它包含C的所有的元素。以下所列仅是C++特有的。 关键词:
bad_cast bad_typeid bool catch class const_cast
delete dynamic_cast explicit false mutable namespace
new operator private protected public reinterpret_cast
static_cast template this throw true type_info
typeid typename using virtual
标识符:与C的规则是相同的。
注释:支持// 单行注释。
运算符:
:: 范围分辨
:: 全局的
. 成员选择(对象)
-> 成员选择(指针)
new 分配对象
delete 销毁对象
delete[] 销毁对象
* 取消关联
& 取地址
typeid() 类型名
(类型) 类型强制转换
const_cast 类型强制转换
dynamic_cast 类型强制转换
reinterpret_cast 类型强制转换
static_cast 类型强制转换
.* 利用指针到达类成员(对象)
->* 取消关联类成员指针
% 余数(取模数)
程序入口点及退出:
程序入口点为main()函数。
有三种方法从程序中退出:在main()中调用return; exit 先运行终止处理,再退出;
abort直接退出。
new 运算符和 delete 运算符:
new 运算符返回指定对象的指针,程序只能通过该指针访问该自动分配的对象。
用 new 运算符分配的对象当它们从定义的所在范围退出时不会被自动销毁。
如果 new 对象是一个类,而且那个类有构造函数,则需符合以下两条件,对象才会被初始化: 在初始化器中提供的参量与构造函数中的那些参量相符。
类有一个缺省的构造函数。
delete 运算符销毁由 new 运算符分配的对象。没有返回值。
如:
double *dObject=new double;
delete dObject;
特别注意数组的动态分配的语法:
UDType (*UDArr)[7]=new UDType[5][7];
delete [] UDArr;
异常处理:try, catch 和 throw 语句。
try
{
}
catch(...)
{
}
throw语句产生一个异常:
如 throw CTest(); 会产生一个CTest的异常。必须用 catch( CTest E)捕获它。
try
{
throw CTest();
}
catch( CTest E)
{
}
[此贴子已经被作者于2004-05-13 11:57:04编辑过]