C++入门--继承
标签:rgba -- on() vat cst 方便 实现 入门 color
举例:
1 #include 2
3 class CPerson {
4 public:
5 CPerson() {}
6 ~CPerson() {}
7 //获取性别
8 int GetGender() {
9 return m_nGender;
10 }
11 //设置性别
12 void SetGender(int nGender) {
13 m_nGender = nGender;
14 }
15 private:
16 char m_szName[255];
17 int m_nGender;
18 };
19
20 class CStudent
21 {
22 public:
23 CStudent() {}
24 ~CStudent() {}
25 CPerson m_per; //把一个类放到另一个类里做成员--组合关系
26 private:
27 int m_nStuID;
28 };
29
30 class CTeacher
31 {
32 public:
33 CTeacher() {}
34 ~CTeacher() {}
35 CPerson m_per;
36 private:
37 int m_TeaID;
38 };
39
40 int main()
41 {
42 CStudent stu;
43 stu.m_per.SetGender(1);
44 return 0;
45 }
在上面我们通过在学生类与教师类中包含person类,来使他们获取person的一些属性。这种关系,我们称之为组合关系
#include 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;
};
class CStudent:public CPerson
{
public:
CStudent() {}
~CStudent() {}
private:
int m_nStuID;
};
class CTeacher:public CPerson
{
public:
CTeacher() {}
~CTeacher() {}
private:
int m_TeaID;
};
int main()
{
CStudent stu;
stu.SetGender(1);
return 0;
}
除了组合,更方便的还可以用继承实现。
继承:子类 ---->父类 派生类--->基类
二、继承的可见性
继承的可见性在什么时机做的检查?
是编译器在编译的时候做的限制,但是在程序运行时,可以通过指针去修改访问被限制的变量。
sizeof(CPerson) = 12字节 (3个int型变量)
sizeof(CStudent) = Sizeof(CPerson)+4字节(m_StuID) = 16字节
三、派生类中构造析构的顺序
初始化列表
C++入门--继承
标签:rgba -- on() vat cst 方便 实现 入门 color
原文地址:https://www.cnblogs.com/y4247464/p/13818324.html
文章来自:
搜素材网的
编程语言模块,转载请注明文章出处。
文章标题:
C++入门--继承
文章链接:http://soscw.com/index.php/essay/66821.html
评论