C++派生类及继承成员的访问属性和访问规则(学习和看书总结)

派生类在已有的类(基类)中派生而来的,在原来类的基础上增加了原来的类没有的一些特性。
例如:车->运输车,若把车看成一个类,车是已有的称为父类,运输车被称为子类。车也被成为基类,运输车称为派生类。描述类的层次性的机制是继承,继承的过程称为派生
说了这么多,派生类存在的意义呢?
派生类使得我们无需修改已有的类,只需在已有类的基础上,增加或者修改少量代码得到新的类,很好的解决了代码重用的问题。
那么派生类的概念就讲到这里吧,接下来我们聊聊基类成员在派生类中的访问属性。
派生类的继承声明方式

class 派生类名:继承方式 基类名{
   
...
};

派生类的继承方式有三种:
1、private(私有继承)
2、public(公有继承)
3、protected(保护继承)
因为继承方式的不同,导致派生类继承来的访问属性也有一丢丢差异,那么接下来我就分别来介绍这三种访问方式的一些访问特性。
No1、private(私有派生类)

class A{
   
	private:
		int x;
	public:
		int y;
	protected:
		int z;
};
class B:private A{
   
	x不可直接访问,因为x是声明的私有成员
	y访问属性是私有成员类型
	z访问属性是私有成员类型
	};

No2、public(公有派生类)

class A{
   
	private:
		int x;
	public:
		int y;
	protected:
		int z;
};
class B:public A{
   
	x不可直接访问,因为x是声明的私有成员
	y访问属性是公有成员类型
	z访问属性是保护成员类型
	};

No3、protected(保护派生类)

class A{
   
	private:
		int x;
	public:
		int y;
	protected:
		int z;
};
class B:protected A{
   
	x不可直接访问,因为x是声明的私有成员
	y访问属性是保护成员类型
	z访问属性是保护成员类型
	};

那么根据以上描述的种种,我们可以做一些总结啦!
总结如下:
① 公有派生时,基类中的所有公有成员在派生类中也都是公有成员,基类中的所有保护成员在派生类中仍然是保护成员。

② 保护派生时,基类中的所有公有成员和保护成员在派生类中是保护成员。

③ 私有派生时,基类中的所有公有成员和保护成员在派生类中是私有成员。
**注意!**基类中的私有成员很任性的,它在任何方式的派生类中都不可以直接访问。
派生类做的工作:
首先:
派生类要继承基类的成员,当然不能把基类中所有成员打包接收过来,基类中的构造函数和析构函数不接收哦,除此之外,其他的所有就接收了。
其次:
派生类要对从基类接受的成员进项选择和调整。第一个就是改变基类成员在派生类中的访问属性;第二个就是派生类对基类的成员进行重新定义(派生类的成员会覆盖基类中的同名成员,成员函数呢,则要函数名和参数表和基类一致)。
最后:
在派生类中增加新的成员。增加新成员体现了对基类的功能特性的扩展。
ok,接下来我们看看派生类对基类成员的访问规则:
访问属性有两种:
内部访问(派生类新增成员函数对继承的成员的访问)
对象访问(在派生类外部,派生类的对象对继承的成员访问)

私有继承的访问规则:

声明一个基类A

class A{
   
	public
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值