1. 类中的静态非常数数据( static , no const)需要在类外进行赋值,结构为
int class::varname = values ;
2. 类有五种特殊的函数类型:
(1) 默认的构造函数
(2) 默认的析构函数
(3) 默认的复制构造函数
(4) 赋值运算函数
(5) 地址运算函数
(1): 默认的构造函数是一个没有参数,没有数据操作的函数
(2): 默认的复制构造函数是一个浅复制的函数,逐一复制非静态成员
(3): 默认的析构函数是一个没有任何操作的函数
(4): 默认的赋值运算函数是一个对运算符=的重载
在进行 类与类之间的复制时会引发复制构造函数,同时在赋值时也会引发
赋值运算函数。在编写类时需要注意这两个函数的重载操作,以免造成失误
失误的详见: c++ primer plus 第426页
3. 关于返回对象一般有三种:
(1) 返回const对象的引用
(2) 返回非const对象的引用
(3) 返回const对象,通常用于返回一个临时的类数据。
ps: 需要注意new和delete的格式需要是相同的
4. 关于成员列表的初始化:
在类中若定义了一个const类型而非static的变量,那么这个变量的初始化需要依赖
构造函数后的初i始化列表。
(1) 这个列表只可用于构造函数
(2) 必须用这种初始化列表初始化非静态的const函数
(3) 使用时初始化列表的顺序必须与在类中定义的顺序相同
例如:
CLASS::CLASS(paramlist): var1(value1) , var2(value2) , var3(value3)
{
initial statements ;
}
原文地址:http://blog.51cto.com/13824643/2133541