标签:rgba -- on() vat cst 方便 实现 入门 color
举例:
1 #include <iostream> 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 <iostream> 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字节
三、派生类中构造析构的顺序
初始化列表
标签:rgba -- on() vat cst 方便 实现 入门 color
原文地址:https://www.cnblogs.com/y4247464/p/13818324.html