//面向对象:继承
//人
class CPerson () {
public:
CPerson () {
};
~CPerson () {
}
int GetGender() {
return m_nGender;
}
void SetGender(int nGender) {
m_nGender = nGender;
}
private:
char m_szName[255];
int m_nGender;
};
}
//方法2:继承
//一个类是另一个的儿子
/// is a
///子类 父类
///派生类 基类
class CStudent :public CPerson
{
public:
CStudent() {
};
~CStudnet() {
}
//不再需要
//int GetGender() {
//return m_nGender;
//}
//void SetGender(int nGender) {
// m_nGender = nGender;
//}
方法1:
CPerson m_per; // char m_szName[255];组合关系,若放在private中编译不过,不能调用
private:
// int m_nGender;
int m_StuID;
};
class CTeacher{
public:
CTeacher() {
}
~CTeacher() {
}
private:
int m_TeachID;
};
int main() {
CStuend stu;
stu.m_per.SetGender(1);
//stu.SetGender(1);
retuen 0;
}
继承的可见性:https://www.bilibili.com/video/BV17J41127AM/?spm_id_from=trigger_reload
protected:保护在类域的外面不可以使用。但是子类可以在类中访问。两个权限加在一起变为最严格的属性。