C++(运算符,多继承,多态)的知识点

本文探讨了C++中运算符重载(如++、--、算术运算等)、多继承的挑战(同名问题、构造顺序和菱形继承)、以及虚继承解决空间浪费和调用二义性的关键。深入解析了多态的概念,包括条件定义、使用场景及其实质——虚函数指针。同时介绍了抽象类的作用和派生类的应用.
摘要由CSDN通过智能技术生成

1,运算符:运算符operator就是函数名

(1)单目运算符重载:++(前置,后置 int 占位),--(前置,后置 int 占位),前置返回引用,后置返回 const 修饰的临时变量。

(2)双目运算符:+,  -,  *,  /,  %,  <,   >,   <=,   >=,  ==,   !=

(3)赋值运算符:=

(4)位运算符:<<,  >>

(5)高级运算符重载:[  ] 下标操作, ->指针操作, ( )仿函数。谓词返回值是  bool  类型,参数是1个(一元)或者2个(一元)

2,多继承出现的问题

(1)非同源多继承出现同名问题(二义性):通过域方式调用

(2)继承的构造顺序是什么顺序:构造顺序:从左往右。

(3)继承+成员属性构造顺序是什么:至上而下,从左往右,与初始化列表无关。

(4)同宗同源多继承出现的问题(菱形继承):造成空间多余浪费。(1)使用虚继承(virtual),减少内存占用,解决调用二义性.(2)virtual会形成一个虚表,而类中的 virtual 是指相续表的指针。(3)virtual实质是一个指针(占4个字节)。(4)虚表是一个函数指针数组,数组里存放的都是函数指针指向虚函数所在的位置。

3,多态:(1)条件定义:(1)必须是继承关系。(2)父类中函数是虚函数,而子类必须重写父类虚函数。

                (2)使用条件:父类指针 / 引用指向子类对象。

                (3)本质:多态实现使用的是  virtual  虚函数指针指向一个虚函数列表。

                (4)抽象类作用:提供一个框架接口,派生类根据需求制定不同的方案

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值