当前位置:首页 > 嵌入式培训 > 嵌入式学习 > 学习笔记 > C++继承这样学,让你快速掌握

C++继承这样学,让你快速掌握 时间:2018-08-28      来源:未知

1. 继承的关系

(1) protected保护在子类继承后,只能子类自己使用;

2. 父类的构造函数不能被继承,在被继承的时候,会自动对成员进行初始化;

(1) 子类中如果需要用到构造函数,需要自己定义;

(2) 默认情形下,父类的无参构造函数会被调用;

(3) 如果需要调用父类有参数的构造函数,需要在类中定义;

(4) 构造函数在生成的时候,会优先调用父类,析构的时候会最后析构父类;

3. 多重继承

(1) 定义:一个类有多个父类关系;

(2) 菱形继承:命令冲突;

(3) 虚基类:在类前面加上visual关键字,这样在继承的时候才会只继承一份;

(4) 多态:通过在父类中定义一个指针,指向子类,

(5) 虚函数:在函数前面机上virtual关键字,定义子类对象的时候,

4. 多态构成的条件:

(1) 必须存在继承关系;

(2) 继承关系父类和子类必须存在同名的虚函数;

(3) 必须存在父类的指针,通过指针来调用虚函数;

/*系统根据具体的对象不同调用不同的函数*/

5. 覆盖,重载以及隐藏

(1) 重写条件:父类子类函数名相同,返回值相同,有virtual关键字;

(2) 重载:函数名相同但是参数不同;

(3) 隐藏:子类的函数会屏蔽父类的同名函数,不需要关心virtual关键字;

/*思考:隐藏是否会占据空间 ? */

6. C++的编译过程

(1) 联编:

① 静态联编:

② 动态联编:

7. 抽象类:

(1) 纯虚函数:没有函数体,只有函数申明,在函数最后加上= 0;

(2) 抽象类:含有纯虚函数的类

① 抽象类不能创造类型,只能继承对象;

8. 虚析构函数

(1) 构造函数无法被申明为虚函数,因为类在初始化的时候,才会被分配地址;

(2)

9. 理解A *p = new B,其中B是A的子类,p->C,其中,C为函数

(1) 当C为virtual函数时,p指针指向B的空间,当C不为virtual函数,P指针指向A的空间;

(2) 子函数在调用delete的时候,会默认调用子类的析构函数和父类的析构函数;

上一篇:TCP网络编程详解

下一篇:linux shell命令大全(都是随堂笔记)

热点文章推荐
华清学员就业榜单
高薪学员经验分享
热点新闻推荐
前台专线:010-82525158 企业培训洽谈专线:010-82525379 院校合作洽谈专线:010-82525379 Copyright © 2004-2022 北京华清远见科技集团有限公司 版权所有 ,京ICP备16055225号-5京公海网安备11010802025203号

回到顶部