继承的语法:class 子类名 : 继承方式 父类名。
继承方式一共有三种:
1:公共继承
2:保护继承
3:私有继承
#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 show()
{
m_a=10;//父类中的公共权限成员 到子类中依然是公共权限
m_b=20;//父类中的保护权限成员 到子类中依然是保护权限
// m_c=30;//父类中的私有成员 类外访问不到
}
};
void show01()
{
son1 p1;
p1.m_a=10;
// p1.m_b=10;//son1中m_b是保护权限 类外访问不到。
// p1.m_c=10;//son1中m_b是私有权限 类外访问不到。
}
class Base2
{
public:
int m_a;//父类中的公共成员 到子类中变为保护权限
protected:
int m_b;//父类中的保护成员 到子类中变成保护权限
private:
int m_c;//父类中私有成员 子类中访问不到
};
class son2:protected Base2
{
public:
void show()
{
m_a=10;// 在son2中 m_a变为保护权限,因此类外访问不到
m_b=20;//
// m_c=30;//
}
};
void show02()
{
son2 p2;
// p2.m_a=10;// 在son2中 m_a变为保护权限,因此类外访问不到
// p2.m_b=10;//在son2中 m_b本身就是保护权限,因此类外访问不到
// p2.m_c=10;//
}
class Base3
{
public:
int m_a;
protected:
int m_b;
private:
int m_c;
};
class son3:private Base3
{
public:
void show()
{
m_a=10;//父类中公共成员 到子类中变为 私有成员
m_b=20;//父类中保护成员 到子类中变为 私有成员
// m_c=30;//父类中私有成员,子类中访问不到
}
};
void show03()
{
son3 p3;
// p3.m_a=10;
// p3.m_b=10;
// p3.m_c=10;
}
int main()
{
show01();
return 0;
}