17.继承和派生的基本概念

1.继承和派生的基本概念

继承:在定义一个新的类B时,如果该类与某个已有的类A相似(指的是B拥有A的全部特点),那么就可以把A作为一个基类,而把B作为基类的一个派生类(也成为子类)。
派生类是通过对基类进行修改和扩充得到的。在派生类中,可以扩充新的成员变量和成员函数。
派生类一旦定义以后,可以独立使用,不依赖于基类。
派生类拥有基类的全部成员函数和成员变量,不论是private,protected,public。
在派生类的各个成员函数中,不能访问基类中的private成员。

需要继承机制的例子:
所有学生都有的共同属性:姓名,学号,性别,成绩。
所有学生都有的共同方法(成员函数):是否该留级,是否该奖励。
而不同的学生,又有各自不同的方法:研究生:导师,系。大学生:系。中学生:竞赛特长加分。

2.派生类的写法

class 派生类名:public 基类名
{

};
例子:

class cstudent{
    private:
        string sname;
        int nage;
     public:
         bool isthreegood(){};
         void setname (const string &name){sname=name;}   
};
class cundergraduantestudent:public cstudent{
    private:
        int ndepartment;
    public:
        bool isthreegood(){};   //覆盖
        bool canbaoyan(){...};  //修改  
};//派 生类的写法是:类名:public 基类名

3.派生类对象的内存空间

派生类对象的体积,等于基类对象的体积,再加上派生类对象自己的成员变量的体积。在派生类对象中,包含着基类对象,而且基类对象的存储位置位于派生类对象新增的成员变量之前。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值