C++13章

第十三章 类继承

13.1.1派生一个类

     1,派生类对象存储了基类的数据成员

     2,派生类对象可以使用基类的方法。

     3,派生类需要自己的构造函数。  

     4,派生类可以根据需要添加额外的数据成员和成员函数。

13.1.12构造函数:访问权限的考虑

     1,派生类不能直接访问基类的私有成员,而必须通过基类方法进行访问。

     2,派生类构造函数必须使用基类构造函数。

     3,创建派生类对象时,程序首先创建基类对象。

     4,释放对象的顺序与创建对象的顺序相反,即首先执行派生类的析构函数,然后自动调用基类的析构函数。

13.2派生类和基类之间的特殊关系

     1,派生类对象可以使用基类的方法,条件是方法不是私有的。

     2,基类指针可以在不进行显式类型转换的情况下指向派生类对象;基类引用可以在不进行显式类型转换的情况下引用派生类对象;

     3,基类指针或引用只能用于调用基类方法。

     4,通常C++ 要求引用和指针类型与赋给的类型匹配,但这一规则对继承来说却是例外。

13.3继承——is-a关系

     1,继承的三种方法:公有继承,私有继承,保护继承。

     2,公有继承是最常用的方式,建立一种is-a关系,即派生类对象也是一个基类对象,可以对基类对象执行的任何操作,也可以对派生类对象执行。

13.4多态公有继承

     1,多态公有继承:在派生类中重新定义基类方法,使用虚方法。

     2,为何需要虚构析构函数
         使用delete释放由new分配的对象的代码。

#include"stdio.h"
#include"string.h"
#include"algorithm"
using namespace std;

class Brass{
private:
    enum {MAX = 35};
    char fullName[MAX];
    long acctNum;
    double balance;
public:
    Brass(const char *s = "Nullbody",long an = -1,double bal = 0.0);
    void Deposit(double amt);
    virtual void Withdraw(double amt);
    ///virtual 关键字至关重要,使用了:程序将根据引用或指针指向的对象的类型来选择方法
    ///未使用,则程序将根据引用类型或指针的类型来选择方法。(派生类和基类重载了方法)
    double Balance()const;
    virtual void ViewAcct()const;
    virtual ~Brass(){}
};
///Brasss plus Account Class
class BrassPlus: public Brass{
private:
    double maxLoan;
    double rate;
    double owerBank;
public:
    BrassPlus(const char *s = "Nullbody",long an = -1,double bal = 0.0,double m1 = 500,double r = 0.10);
    BrassPlus(const Brass & ba,double m1 = 500,double r = 0.1);
    virtual void ViewAcct()const;
    virtual void Withdraw(double amt);
    void ResetMax(double m){maxLoan = m;}
    void ResetRate(double r){rate = r;}
    void ResetOwes(){owesBank = 0;}
};

 

原文链接: https://www.cnblogs.com/yrz001030/p/12453076.html

欢迎关注

微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍;

也有高质量的技术群,里面有嵌入式、搜广推等BAT大佬

    C++13章

原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/334469

非原创文章文中已经注明原地址,如有侵权,联系删除

关注公众号【高性能架构探索】,第一时间获取最新文章

转载文章受原作者版权保护。转载请注明原作者出处!

(0)
上一篇 2023年3月1日 下午9:40
下一篇 2023年3月1日 下午9:41

相关推荐