美文网首页
GeekBand.重学C++(4)

GeekBand.重学C++(4)

作者: EthanZhang_ | 来源:发表于2016-03-31 17:35 被阅读0次

关于 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 ?

相关文章

  • GeekBand.重学C++(4)

    关于 this 指针 调用父类的成员 非 const 成员中 const 成员中 动态绑定与静态绑定 绑定时期 动...

  • GeekBand.重学C++(2)

    类间关系:组合/委托/继承 Composition 组合(has-a) Container has a Comp...

  • GeekBand.重学C++(1)

    0x01. 关于头文件 头文件保护 头文件保护,是为了避免重复包含头文件中的声明和定义,导致重定义错误或者编译器找...

  • GeekBand.重学C++(3)

    0x01.类型转换 转换函数返回类型可以不写无参数const 成员函数 构造函数:non-explicit-one...

  • GeekBand.重学C++(5)----STL

    0x00. 模板简介 两种模板:类模板和函数模板 代码重用:允许函数和类以泛型的形式表现和运行,针对各种类型都适用...

  • GeekBand.重学C++(5)----STL(2)

    待续

  • 01-Cin、Cout、函数重载和默认参数

    《C++文章汇总》[https://www.jianshu.com/p/bbd842438420] 久违了,重学C...

  • C++文章汇总

    久违了,重学C++,上一次学C++还是2009年读大一下学期的时候,轮回,发现C++是挺重要的,就像很多事情一样,...

  • js重学4

    一、电影院售票情况 document.write(" ");for(var i=1;i<=4;i++){ doc...

  • 《深入探索C++对象模型》笔记 Chapter4

    《深入探索C++对象模型》笔记 Chapter2《深入探索C++对象模型》笔记 Chapter3 第4章 函数 4...

网友评论

      本文标题:GeekBand.重学C++(4)

      本文链接:https://www.haomeiwen.com/subject/eckelttx.html