C++基础(四)继承

类的继承:

类的继承分三种方式:公有 私有  保护, 若不明确指出默认私有继承;

类的继承主要干三件事情:接收基类成员,改造基类成员,添加新的成员

关于接收基类成员:接收基类所有的数据成员,接收基类所有的函数成员,除了构造函数,析构函数,为什么呢?前面说过:构造,析构函数都是给编译器看的,编译器本身可以看到基类的构造析构函数,所以对于派生类的构造函数,编译器是一层一层的调用,先调用基类再调用子类的构造函数,析构则相反;

关于改造基类成员:这里主要有一个覆盖的问题,当派生类重新定义一个跟基类成员函数(返回值,参数,函数名)一模一样的函数时候,对于派生类对象而言会覆盖基类同名的成员函数

关于添加新的成员:略,派生类添加了新的数据成员,自然要添加新的成员函数对新数据成员进行处理;

对于公有继承,只有基类的私有成员不可访问,要访问他们需要通过父类的接口,其余成员访问属性不变;

对于私有继承,除了基类的私有成员不可访问外,父类的公有成员保护成员都变为私有,这意味着若再次继承,不论采用何种方式,其二代子类都不能直接访问爷爷类的数据成员;

对于保护继承,对于类内成员函数而言,与公有继承无差异,但是其二代子类,不论采用何种继承方式,都能直接访问爷爷类的(非私有)数据成员;


儿子可以直接访问其父类的公有与保护成员,却不能访问私有成员;        (若要访问可以通过接口);

友元函数可以直接访问对应类的公有与私有成员,却不能访问保护成员;(若要访问可以通过接口);

通过对象只能直接访问该类的公有成员,公有成员是类的对外接口,名片;



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值