码迷,mamicode.com
首页 > 编程语言 > 详细

C++入门--继承

时间:2020-11-02 09:53:37      阅读:22      评论:0      收藏:0      [点我收藏+]

标签: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字节

 

三、派生类中构造析构的顺序

 

初始化列表

 

C++入门--继承

标签:rgba   --   on()   vat   cst   方便   实现   入门   color   

原文地址:https://www.cnblogs.com/y4247464/p/13818324.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!