-
类声明描述如何分配内存,但是并不分配内存
-
对于静态成员函数,在类外进行初始化
-
构造函数用于创建对象
-
函数返回对象时会调用拷贝构造函数
-
一个类的所有对象共享一组类方法
-
继承类可以重新定义在父类中的函数,并且使用虚函数语法时,可以使用父类指针或者引用指向继承类对象,会根据指向的对象类型来选择函数方法,如果不使用虚函数,则只会根据引用或者指针类型选择函数方法,这样就会造成冲突。也就是使用了动态联编,而后者则是静态联编。
-
最好对类数据成员采用私有访问控制,不要使用保护访问控制;同时使用基类方法使派生类能够访问基类数据。
-
包含动态内存分配时(new delete)要考虑深浅拷贝问题!默认复制构造函数对于动态内存分配来说是不合适的,容易造成内存的泄露。
-
一般使用对象作为函数参数时,应该按照引用传递而不是值传递,这样是为了提高效率,按值传递对象涉及到生成临时拷贝。返回对象与返回引用与参数时情况相似。
-
使用explicit来防止单参数构造函数的隐式转换,使用const方法防止修改数据
class t(int a); t = 10; 存在隐式转换
-
派生类的成员可以直接访问基类的保护成员,但是不能直接访问基类的私有成员