C++继承时的一些细节知识点

  • 编译器只有在一个类中没有一个构造函数的时候自动生成默认构造函数,当类中有任何一个类的时候,系统便不会再生成默认构造函数。

  • 基类的成员变量在派生类中不可直接访问,但可以以间接访问,例如通过调用基类的成员函数来实现。

  • 不同继承方式的影响主要体现在:

  1. 派生类成员对基类成员的访问权限;
  2. 通过派生类对象对基类成员的访问权限;
  • 派生类对象的体积,等于基类对象的体积,再加上派生类对象自己的成员变量的体积。在派生类对象中,包含着基类对象,而且基类对象对象的存储位置位于派生类对象新增的成员变量之前。

public继承时的赋值兼容规则:

 class base{   };
 class derived : public base{    };
 base b;
 derived d;
  1. 派生类的对象可以赋值给基类对象
    b=d;

  2. 派生类对象可以初始化基类引用

    base &br=d;

  3. 派生类对象的地址可以赋值给基类指针

    base *pb=&d;

注:如果派生方式时private或protected,则上述三条不可行。

原文链接: https://www.cnblogs.com/Acapplella/p/13301849.html

欢迎关注

微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍;

也有高质量的技术群,里面有嵌入式、搜广推等BAT大佬

    C++继承时的一些细节知识点

原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/365860

非原创文章文中已经注明原地址,如有侵权,联系删除

关注公众号【高性能架构探索】,第一时间获取最新文章

转载文章受原作者版权保护。转载请注明原作者出处!

(0)
上一篇 2023年3月2日 下午4:23
下一篇 2023年3月2日 下午4:23

相关推荐