1,尽量避免在头文件引用其他头文件,尽量在cpp中引用其他头文件,这样会减少编译时间,在头文件声明其他类时,可以不引用头文件加一个class关键字声明,例如:class ClassA a;
2,调用指针的函数或者变量时,先判断是否为空 养成好习惯O(∩_∩)O哈哈~。官方模板:
3,静态变量初始化
int m_a; //通过初始化列表初始化, //或者构造函数初始化 /*引用*/ int &m_ra; //只能通过初始化列表初始化 /*静态变量*/ static int m_b; //不能通过初始化列表初始化, //不能在类内进行初始化, //不能在构造函数中初始化, //只能在类外初始化 /*常量*/ const int m_c; //只能通过初始化列表初始化, //不能在类内进行初始化, //不能在构造函数中初始化, //不能在类外初始化 /*静态整型常量*/ static const int m_d; //(整型)能否在类中初始化,取决于编译器 // 能在在类外初始化,不能带static /*静态非整型常量*/ static const double m_e;//(double型)能否在类中初始化,取决于编译器 // 能在在类外初始化,不能带static
//静态成员变量,必须在类外初始化,且要去掉static关键字 int CTypeInit::m_b = 6; const int CTypeInit::m_d = 6; const double CTypeInit::m_e = 3.1415926;
4,注意在函数中声明的指针,函数结束后会被释放。
5,父类中的纯虚函数必须全部实现,否则会报错“不能实例化抽象类”
6,
字 word
字节 byte 位 bit 字长是指字的长度1字=2字节(1 word = 2 byte)
1字节=8位(1 byte = 8bit)7,class前置声明
class A; 或者class A *a;
struct前置声明
只能struct A;