基类和派生类的各种访问

公有继承:

左边的是在基类中的->右边的是继承到派生类后

public->public

protected->protected

private->无法访问

除了private其他的都可以直接访问的

私有继承:

public->private

protected->private

private->无法访问

在私有继承中除了private其他的也是可以访问的

私有基类的公用成员和保护成员在私有派生类中的访问属性相当于派生类中的私有成员,即派生类的成员函数能访问它们,而在派生类外(main函数等都算)不能访问它们,私有基类的私有成员则无法访问

保护继承:

保护继承中:垂直访问相当于公有继承,水平访问相当于私有继承(
水平访问就是继承类均属于基类的同一层的子类,然后他们之间的相互访问(类似于兄弟之间的对话),;
垂直访问,就是子类访问它的父类,它的父类访问它的祖父类,以此类推(类似与父子之间的对话);
)

public->protected

protected->protected

private->无法访问


派生类是无法访问基类的私有成员的,如果想访问,要么把私有成员改成公有或者保护的,要么在基类中写一个函数把这个私有成员return出去;


派生类的对象只能直接访问基类的公有继承的公有成员;

(基类A,派生类B,)
class A{
public:int a;
protected:int e;
private:int f;
}
class B:public A
{

}
B.b;
b.a;//只能点出来a,其他的都是在派生类里的函数里用的,并不能直接调用;


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值