类和对象-继承-继承方式

本文详细介绍了C++中的三种继承方式:公共继承、保护继承和私有继承,分别讨论了不同类型的成员在子类中的权限变化。
摘要由CSDN通过智能技术生成

继承语法:class子类:继承方式 父类

继承方式一共有三种

1.公共继承

2.保护继承

3.私有继承

#include <stdio.h>
#include <iostream>
using namespace std;

//继承方式
//公共继承

class Base1 {
public:
	int m_A;
protected:
	int m_B;
private:
	int m_C;
};

class Son1 :public Base1 {
public:
	void func() {
		int m_A = 10;//父类的公共权限成员 到子类中依然是公共权限
		int m_B = 10;//父类的保护权限成员 到子类中依然是保护权限
		//int m_C=10;//父类的私有权限成员 子类访问不到
	}
};
void test01() {
	Son1 s1;
	s1.m_A = 100;
	//s1.m_B=100;//到Son1中m_B是保护权限 类外访问不到
}

//保护继承
class Base2 {
public:
	int m_A;
protected:
	int m_B;
private:
	int m_C;
};
class Son2:protected Base2
{
public:
	void func() {
		m_A = 100;//父类中公共成员,到子类中变为保护权限
		m_B = 100;//父类中保护成员,到子类中变为保护权限
		//m_C = 100;//父类中私有成员 子类访问不到
	}
};
void test02() {
	Son2 s1;
	//s1.m_A=1000;//在Son2中m_A变为保护权限,因此类外访问不到
	//s1.m_B=1000;//在Son2中m_B保护权限,不可以访问
}
//私有继承
class Base3 {
public:
	int m_A;
protected:
	int m_B;
private:
	int m_C;
};
class Son3 :private Base3 {
public:
	void  func() {
		m_A = 100;//父类中公共成员 到子类中变为 私有成员
		m_B = 100;//父类中保护成员 到子类中变为 私有成员
		//m_C = 100;//父类中私有成员,子类访问不到
	}
};
class GrandSon3 :public Son3 {
public:
	void  func() {
		//m_A = 1000;//到了Son3中 m_A变为私有,即使是孙子,也是访问不到的
		//m_B = 1000;//到了Son3中 m_A变为私有,即使是孙子,也是访问不到的
	}
};
void test03() {
	Son3 s1;
	//s1.m_A = 1000;//到Son3中 变为 私有成员 类外访问不到
	//s1.m_B = 1000;//到Son3中 变为 私有成员 类外访问不到
}
int main() {
	test01();
	return 0;
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

可闻椿湫

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值