0
点赞
收藏
分享

微信扫一扫

C++继承方式


继承方式

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

继承方式一共有三种:

公共继承

保护继承

私有继承

代码示例:

#include <iostream>
using namespace std;
//继承方式
class Base1
{
public:
int m_A;
protected:
int m_B;
private:
int m_C;
};
//公共继承
class Son1 :public Base1
{
void func()
{
m_A = 10; //父类中的公共权限,到子类中依然是公共权限
m_B = 10; //父类中的保护权限,到子类中依然是保护权限
//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 = 10; //父类中的公共权限,到子类中变为保护权限
m_B = 10; //父类中的保护成员,到子类中变为保护权限
//m_C = 10; //父类中的私有权限,子类不能访问
}
};
void test02()
{
Son2 s1;
//s1.m_A = 1000; //在Son2中m_A变为保护权限,因此类外访问不到
//s1.m_B = 1000; //到Son1中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 = 10; //父类中的私有权限,子类不能访问
}
};
class GrandSon3 :public Son3
{
public:
void func()
{
//m_A = 1000; //到了Son3中 m_A变为私有,及时是儿子,也是访问不到的
//m_B = 1000; //到了Son3中 m_B变为私有,及时是儿子,也是访问不到的
}
};
void test03()
{
Son3 s1;
//s1.m_A = 1000; //在Son3中m_A变为私有权限,因此类外访问不到
//s1.m_B = 1000; //到Son1中m_B是私有权限,类外不能访问
}
int main()
{
return 0;
}

感兴趣欢迎关注微信公众号黑马金牌编程

C++继承方式_父类


举报

相关推荐

c++ 继承

C++ | 继承

c++(继承)

C++~继承

C++——继承

0 条评论