//#include<iostream>
//#include<string>
//using namespace std;
//
继承方式:1.公共继承 2.保护继承 3.私有继承
父类隐私的子类那种继承都不可以访问
公共继承
父类公共的属性在子类也是公共的属性
父类保护的属性在子类也是保护的属性
//
保护继承
公共权限在子类里变成了保护权限
保护权限也变成了保护权限
//
私有继承
共有变私有
保护便私有
//
公共权限类内可以访问类外也可以访问
保护权限类内可以访问类外不可以访问,友元可以访问
//class Base1
//{
//public:
// int m_A;
//protected:
// int m_B;
//private:
// int m_C;
//
//};
//
//class son1 :public Base1
//{
//public:
// void func()
// {
// m_A = 10;//父类公共的属性在子类也是公共的属性
// m_B = 10;//父类保护的属性在子类也是保护的属性
// //m_C = 10;父类的私有成员子类访问不到
// }
//};
//
//
//void test01()
//{
// son1 s1;
// s1.m_A;
//}
//
//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 si;
// //si.m_A 在son2里m_A变成保护权限因此在类外访问不到
// //si.m_B 在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 = 10;//共有变私有
// m_B = 10;//保护便私有
// //m_C = 10;父类的私有成员子类访问不到
// }
//};
//
//void test03()
//{
// son3 s1;
// //s1.m_A = 100;// 在son3里m_A变成私有成员因此在类外访问不到
// //s1.m_B = 100;// 在son3里m_A变成私有成员因此在类外访问不到
//}
//
//class Sunzi :public son3
//{
//public:
// void func()
// {
// //m_A = 100000;//因为son3是私有类,***//父类隐私的子类那种继承都不可以访问***
// }
//};
//
//int main()
//{
// test01();
// return 0;
//}
C++继承方式
于 2024-05-25 14:27:19 首次发布