2020.11.6 第06课 C++继承和派生

2020.11.6 第06课 C++继承和派生

一、继承方式和继承权限问题


	1.继承和派生
		父类/基类  子类/派生类
	2.class 子类名:继承方式 父类名
	{
   

	};
	3.继承方式导致的权限问题
		继承方式:public protected private    权限限定词
				低----------------->3.1 继承方式只会加强父类属性在子类中权限的呈现权限
				父类属性在子类的权限最低是继承方式
		3.2 父类的私有属性可以被继承但是不能访问
	4.继承中构造函数的写法
		除了构造函数和析构函数之外父类有的子类都有拷贝份

#include <iostream>
using namespace std;
//父类
class MM
{
   
public:
	void print() {
    cout << "MM" << endl; }
protected:
	int age;
	int num;
};
//子类
class coolBoy :public MM
{
   
public:
	void printBoy()
	{
   
		//继承的实质:具有父类的一些属性
		cout << age << num << endl;
		print();
	}
protected:
};

//公有继承
//继承方式只会加强父类属性在子类中属性的呈现权限
class A
{
   
public:
	int x;
protected:
	int y;
private:
	int z;
};
class a :public A
{
   
public:
		//int x;
protected:
	void print()
	{
   
		cout << y << endl;		//保护属性继承下来可以被访问
		//错误
		//cout << z << endl;	//私有属性继承下来不能被访问
	}
		//int y;
private:
		//int z;
};
//保护继承
class b :protected A
{
   
public:
protected:
	//int x;					//public 里面的到 protected
	//int y;
private:
	//int z;
};
//私有继承
class c :private A
{
   
public:
protected:
private:
	//int x;
	//int y;
	//父类私有属性不能被访问
	//int z;
};
//继承具有遗传性
class XX
{
   
public:
	int X;
protected:
};
class YY :public XX
{
   
public:
	int y;
	//int x;
};
class ZZ :public YY
{
   
public:
	//int x;
	//int y;
};
int main()
{
   
	a aObject;
	aObject.x = 100;
	b bObject;
	//错误 保护继承
	//bObject.x = 11;
	return 0;
}

二、继承中构造函数的写法


哪一个类的属性就需要哪一个类的构造函数初始化
	1.子类的构造函数,除了需要初始化本类数据
		还需要调用父类的构造函数初始化被继承下来的属性
	2.子类的构造函数必须采用初始化参数列表
*/#include <iostream>
#include <string>
using namespace std;
class MM
{
   
public:
	MM()
	{
   
		cout << "MM" << endl;
	}
	//构造函数不需要自己调用
	MM(string name,int age):name(name),age(age)
	{
   
		cout << "MM" << endl;
	}
protected:
	string name;
	int age;
};
class son :public MM
{
   
public:
	//调用无参
	son(int money) :money(money)
	{
   
		cout << "son" << endl;
	}
	//子类的构造函数写法
	
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值