程序:
#pragma warning(disable:4996)
#define _CRT_SECURE_NO_WARNINGS 1
//2022年10月15日20:24:40
#include <iostream>
using namespace std;
class Father
{
public:
int a;
private:
int b;
protected:
int c;
};
class Son:public Father
{
public:
void func()
{
a;
//b;//err
c;
}
/*
公有继承:
1.类的公有属性成员,到子类还是公有(类内可以使用类外也可以使用)
2.父类的私有属性成员,到子类还是私有
3.父类的保护属性成员,到子类仍然是保护
*/
};
void test01()
{
Son s1;
s1.a;
//s1.b;//err
//s1.func;//err
}
//保护继承
class Son2:protected Father
{
public:
void func()
{
a;
//b;//err
c;
/*
保护继承:
1.父类的公有属性成员,到子类是保护
2.父类的私有属性成员,到子类还是私有
3.父类的保护属性成员,到子类还是保护
*/
}
};
void test02()
{
Son s2;
//s2.a;//err
//s2.b;//err
//s2.c;//err
}
//私有继承
class Son3:private Father
{
public:
void func()
{
a;
//b;//err
c;
/*
私有继承:
1.父类的公有属性成员,到子类是保护
2.父类的私有属性成员,到子类还是私有
3.父类的保护属性成员,到子类还是保护
*/
}
};
void test03()
{
Son s3;
s3.a;
//s3.b;//err
//s3.c;//err
}
int main()
{
test03();
system("pause");
return EXIT_SUCCESS;
}
1.继承方式,公有继承,私有继承,保护继承
2.子类对从父类继承过来的成员的权限
1.公有继承
1.父类的公有属性成员,到子类还是公有
2.父类的私有属性成员,到子类不能访问
3.父类的保护属性成员,到子类还是保护
2.保护继承
1.父类的公有属性成员,到子类是保护
2.父类的私有属性成员,到子类不能访问
3.父类的保护属性成员,到子类还是保护
3.私有继承
1.父类的公有属性成员,到子类还是私有
2.父类的私有属性成员,到子类不能访问
3.父类的保护属性成员,到子类还是私有