-
1、继承方式:
protected保护继承;public公有继承;private私有继承
a、public公有继承:
public数据成员继承到public里
private的数据成员继承到不可见位置,会报错
protected在不涉及继承时,与private用法一样,涉及继承时不一样,它会继承到相应protected位置下
查看全部 -
1、继承的定义
若A类是B类的真子集,则称A继承了B
则定义A时可定义为:class A:public B//称A为B的派生类(子类),B为A的基类(父类)
查看全部 -
用new 实例化对象,一般用指针
查看全部 -
扩展探索:只有其中一个虚继承时,执行顺序有什么变化呢?
结果:最终子类优先执行虚继承的基类的构造函数,然后再按正常顺序调用各构造函数(此时虚继承的就不用执行了)
查看全部 -
讲解说先执行Farmer的构造函数,然后光标指向初始化列表。
但我试验发现,父类构造函数的执行顺序和这里无关,而是取决于继承那里写的顺序,并且得出这种初始化列表方法,并不会调用到父类的构造函数。(虽然这种方法还没理解透,需要特别注意下)
查看全部 -
用对象做参数传递时,建议使用“引用”或者“指针”的方式,可以减少临时变量的产生。
查看全部 -
需要使用“虚析构函数”的时候:当使用父类的指针,指向堆中子类的对象,并使用父类的指针释放这块内存。(建议子类中的析构函数也加上virtual,再派生的时候更清楚,避免不必要的错误)
查看全部 -
子类和父类的同名函数,无法完成重载,只会被隐藏。
查看全部 -
Has a:还不是非常理解。为什么把私有继承(线段包含坐标)的关系,称为Has a。
查看全部 -
公有继承:class A:public B
保护继承:class A:protected B
父类用protected修饰, 子类成员访问也在protected下访问
私有继承:class A:private B
子类无法访问父类中用private修饰的成员;
查看全部 -
虚继承:多个派生类保存相同基类的同名成员时,虽可以在不同的数据成员中分别存放不同的数据 ,但我们只需要相同的一份。
查看全部 -
多继承的方法:
class Worker{};
class Farmer{
};
class MigrantWorker : public Worker,public Farmer{
};
查看全部 -
B类从A类公共派生,那么可以在B类中直接使用A的公共及保护限定符的数据成员。
查看全部 -
c++私有继承的特点<img src="https://img1.sycdn.imooc.com//5b3cf3570001b11c05000156.jpg" alt="https://img1.sycdn.imooc.com//5b3cf3570001b11c08250256.jpg" />查看全部
-
c++保护继承的特点
查看全部
举报