C++基础:运算符重载与继承详解.pdfVIP

  • 0
  • 0
  • 约1.77千字
  • 约 2页
  • 2026-02-09 发布于北京
  • 举报

1关系运算符重载

1.1自定义数据类型不会做比较==!=

1.2所以要重载==!=

2函数调用运算符重载

2.1()仿函数对象()看似像函数调用

2.2MyAdd()对象

3不要重载和||

3.1本身有短路特性我们无法去实现这种特性

3.2所以不要重载

4强化训练–字符串封装

4.1cout输入自定义的字符串

4.2cin让用户输入字符串内容

4.3重载=运算符

4.4重载+运算符

4.5重载[]运算符

4.6重载==运算符

5继承的引出

5.1网页很多公共部分

5.2导致实现时候有很多重复的代码

5.3引出继承,基类(父类)公共网页

5.4具体子类实现不同的内容

5.5语法class子类:继承方式父类

6继承方式

6.1不管公有继承保护还是私有基类中的私有属性,都不可以继承下去

6.2公有继承

6.2.1父类中的protected在子类中是protected

6.2.2父类中的public在子类中是public

6.3保护继承

6.3.1父类中的protected在子类中是protected

6.3.2父类中的public在子类中是protected

6.4私有继承

6.4.1父类中的protected在子类中是private

6.4.2父类中的public在子类中是private

7继承中的对象模型

7.1子类会继承父类中所有的内容,包括了私有属性

7.2只是我们不到,编译器给隐藏了

7.3cl/d1reportSingleClassLayout类名文件名

8继承中的构造和析构顺序

8.1子类创建对象时,先调用父类的构造,然后调用自身构造

8.2析构顺序与构造顺序相反

8.3子类是不会继承父类的构造函数和析构函数

8.4补充内容,如果父类中没有合适默认构造,那么子类可以利用初始化列表的方式

显示的调用父类的其他构造

9继承中的同名处理

9.1成员属性直接调用先调用子类,如果想调用父类需要作用域

9.2成员函数直接调用先调用子类,父类的所有版本都会被隐藏,除非显示用作用

域运算符去调用

10继承中静态成员的处理

10.1类似非静态成员函数处理

10.2如果想父类中的成员,加作用域即可

11多继承的概念以及问题

11.1classA:publicB1,publicB2,….

11.2二义性问题

11.3想解决二义性问题,就需要通过作用域来进行区分

12菱形继承问题以及解决

12.1解决问题利用虚基类

12.2sheepTuo结构

12.2.1vbptr虚基类指针

12.2.2指向一张虚基类表

12.2.3通过表找到偏移量

12.2.4找到共有的数据

12.3工作原理(可以不掌握)

文档评论(0)

1亿VIP精品文档

相关文档