Skip to content

Latest commit

 

History

History
48 lines (16 loc) · 1.51 KB

类知识点.md

File metadata and controls

48 lines (16 loc) · 1.51 KB

类知识点

  1. 类声明描述如何分配内存,但是并不分配内存

  2. 对于静态成员函数,在类外进行初始化

  3. 构造函数用于创建对象

  4. 函数返回对象时会调用拷贝构造函数

  5. 一个类的所有对象共享一组类方法

  6. 继承类可以重新定义在父类中的函数,并且使用虚函数语法时,可以使用父类指针或者引用指向继承类对象,会根据指向的对象类型来选择函数方法,如果不使用虚函数,则只会根据引用或者指针类型选择函数方法,这样就会造成冲突。也就是使用了动态联编,而后者则是静态联编。

  7. 最好对类数据成员采用私有访问控制,不要使用保护访问控制;同时使用基类方法使派生类能够访问基类数据。

  8. 包含动态内存分配时(new delete)要考虑深浅拷贝问题!默认复制构造函数对于动态内存分配来说是不合适的,容易造成内存的泄露。

  9. 一般使用对象作为函数参数时,应该按照引用传递而不是值传递,这样是为了提高效率,按值传递对象涉及到生成临时拷贝。返回对象与返回引用与参数时情况相似。

  10. 使用explicit来防止单参数构造函数的隐式转换,使用const方法防止修改数据

    class t(int a);
    t = 10; 存在隐式转换
    
  11. 派生类的成员可以直接访问基类的保护成员,但是不能直接访问基类的私有成员