C++之继承

定义

子类可以赋值给父类的对象/引用/指针,把子类多余的部分切掉,留下子类里面的父类赋值,父类不能给子类赋值

作用域隐藏

子类与父类中的相同变量/函数构成隐藏,在子类中使用父类该变量和函数需要使用作用域限定符

默认成员函数

构造,拷贝构造,复制重载都是先调用基类在调用派生类
析构是先调用派生类在调用基类,主要是担心先析构基类万一派生类还需要使用基类中的成员/函数会导致出错

友元

基类友元不能访问派生类私有/保护成员

静态成员

基类的静态成员,整个继承体系里只有一个。无论派生多少只有一个静态成员。

菱形继承

会造成二义性和数据冗余,B C中都会有A基类,D访问的时候不知道访问的是B中的A还是C中的A造成二义性。

使用virtual关键词,将A放在特定的地方,B/C中的A用一个指针(虚基指针)代替,指针指向存有距离A偏移量的续集表。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值