继承--访问限定表

类和类之间的关系有两种:
组合:a part of… 一部分的关系
继承:a kind of… 一种的关系

写一段最简单的代码:

class A
{
public:
	int a;
protected:
	int b;
private:
	int c;
};
//继承,A:基类、父类  B:派生类、子类
class B:public A
{
public:
	int d;
protected:
	int e;
private:
	int f;
};

1.A ma定义的一个对象ma,占用12个字节,B mb定义的一个对象mb,真用24个字节,因为B类继承A类中的a b c。
2.A中有一个a,如果用B中也有一个a,那么不能认为是同一个a,因为他们所在的作用域是不同的。(显然现在B定义的对象占用28个字节)
在这里插入图片描述

访问限定表:
在这里插入图片描述
多重继承的时候,一步一步进行分析就可以啦。
总结:
1.外部只能访问public的成员,protected和private的成员无法直接访问。
2.在继承的结构中,派生类可以继承基类中private中的成员,但是派生类是无法进行直接访问的。
3.protected的主要用处:
在基类中定义的成员,想被派生类访问,但是不想被外部访问,那么就把基类中的成员定义成protected。
如果派生类和外部都不打算进行访问,那么在基类中就设置成private。

默认的继承方式:
派生类是class定义的:默认是private
派生类是struct定义的:默认是public

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值