C++PrimerPlus学习之类学习四(类继承)

本文探讨了 C++ 中的类继承概念,包括初始化列表的作用、基类与派生类的关系、虚函数的工作原理及其实现细节。此外还讨论了纯虚函数的应用场景以及基类和派生类在动态内存分配时需要注意的问题。

这里只列出一些重要的自己容易忽略的知识点,对于类继承的概念和原理性的东西不做描述。

       首先是关于初始化列表:

             派生类应该通过初始化列表来将基类信息传递给基类的构造函数。

             初始化列表的赋值顺序取决于类声明中成员变量的声明顺序,和初始化列表的顺序无关

             成员初始化列表只能用于构造函数。

       基类和派生类之间的关系:

             基类指针可以指向派生类的成员(不进行显式类型转换)。

             基类的引用可以在不显式类型转换下引用派生类对象。

       虚函数的工作原理,参看陈皓的讲解,很不错的一篇文章:

             http://blog.csdn.net/haoel/article/details/1948051/

            使用虚函数,每个对象都将增大,增大的部分为存储地址的空间;对于每个类,编译器都会创建一个虚函数地址表;每一次的函数调用都会查找该虚函数地址表。

       当类中声明了纯虚函数,则该类不能进行实例化,只能作为基类使用。

       当基类和派生类都使用动态内存分配时,派生类的析构函数,复制构造函数,赋值运算符都必须使用相应的基类方法来处理基类元素

       不能被继承的元素:

                1. 构造函数。产生一个派生类对象时,会先调用基类的构造函数,然后调用派生类的构造函数。

                2. 析构函数。调用顺序和构造函数相反。

                3. 赋值运算符。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值