1. 对象的成员函数的声明和定义后面加上const成为const成员函数,可以被const对象调用;
2. 对象的构造函数只有一个参数时,可以用于类型转换,如
class A {
private:
double val;
public:
A(double in) {val = in};
}
则可以使用语句A = 1.1,A a = A(1.1)的写法可以当成是类型转换,在构造函数前加上explicit关键字可以防止该类实行隐式转换;
3. 转换函数operator typename(),C++11可用explicit;
4. 定义多个转换函数有可能导致二义性;
5. 静态成员变量和函数通过ClassName::MemName来调用,不能通过实例化的对象来调用;
6. 静态成员变量的初始化应在类外进行;
7. ClassName(typeName memName) : mem1(val1), mem2(val2) 称为初始化列表,非静态const成员和被声明为引用的类成员必须这样初始化;
8. 类内定义类成员变量时赋值可以设置为默认值;