GeekBand.重学C++(4)

关于 this 指针

  1. 调用父类的成员
  2. 非 const 成员中
  3. const 成员中

动态绑定与静态绑定

  1. 绑定时期
  2. 动态绑定三条件
  • 父类指针调用
  • 调用虚函数
  • 向上转型,即不能是子类指针指向父类对象

关于 const

  1. const 数据成员与 const 成员函数
  2. const 对象 与 成员函数
  • const 对象(数据成员不可改变),只能调用 const 成员函数(保证不改变对象的数据成员)
  • 非 const 对象(数据成员可改变), 可以调用 const 成员函数和非 const 成员函数(不保证不改变数据成员)
  • 当 const 和非 const 成员函数同时存在的时候,非 const 对象只会调用非 const 成员函数
  • 非 const 成员函数中可以调用 const 成员函数,反之则不行
    • 第一,传给 const 成员函数的 this 指针是 const 指针,指向的数据成员不可改变,此时调用非 const 成员函数,即:非 const 成员函数中传入的是 const 成员函数,显然不行。
    • 第二,const 成员函数不改变对象数据成员,而其中调用可能改变数据成员的非 const 成员函数,明显不合理。

重载 operator new, operator delete, operator new[], operator delete[]

  1. operator new 和 operator new[] 的传入参数表示什么?
  2. operator new[] 分配的空间为什么比对象本身的 size 大?

重载 new 和 delete()

  1. placement delete 的作用?什么时候调用?
  2. 为什么 new delete 的重载成员函数都是 static ?
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容