zoukankan      html  css  js  c++  java
  • cc28c_demo.cpp,派生类的构造函数和析构函数代码示范3

    cc28c_demo.cpp,派生类的构造函数和析构函数-代码示范3

    //派生类的构造函数和析构函数
    //派生类的构造函数(执行步骤)
    //--执行基类的构造函数
    //--执行成员对象的构造函数
    //--执行派生类的构造函数

    //父类,子类
    //构造函数与析构函数不能继承

    //派生类的析构函数
    //--对派生类新增普通成员进行清理
    //--调用成员对象的析构函数
    //--调用基类析构函数

    没有看到析构执行过程,参考如下链接

    https://blog.csdn.net/txwtech/article/details/103978929

    #include <iostream>//txwtech,cc28c_demo.cpp,派生类的构造函数和析构函数-代码示范3
    using namespace std;
    
    enum BREED {GOLDEN,CAIRN,DANDIE,SHETLAND,DOBRMAN,LAB};
    
    class Mammal//哺乳动物
    {
    public:
        Mammal();
        ~Mammal();
        //存取器成员函数
        int GetAge() const { return itsAge; }
        void SetAge(int age) { itsAge = age; }
        int GetWeight() const { return itsWeight; }
        void SetWeight(int weight) { itsWeight = weight; }
    
        void Speak() const { cout << "Mammal的声音!\n"; }
        void Sleep() const { cout << "shhh,我正在睡觉"; }
    
    protected:
        int itsAge;
        int itsWeight;
    
    };
    class Dog:public Mammal
    {
    public:
        Dog();
        ~Dog();
        BREED GetBreed() const { return itsBreed; }
        void SetBreed(BREED breed) { itsBreed = breed; }
    
        void WagTail() const { cout << "Tail wagging...\n" << endl; }
        void BegForFood() const { cout << "beging for food...\n"; }
    
    
    private:
        BREED itsBreed;
    
    };
    Mammal::Mammal():itsAge(3),itsWeight(5)
    {
        cout << "Mammal的构造函数正在被调用..." << endl;
    }
    Mammal::~Mammal()
    {
        cout << "Mammal的析构函数被调用。。。" << endl;
    }
    Dog::Dog() :itsBreed(GOLDEN)
    {
        cout << "Dog的构造函数被调用" << endl;
    }
    Dog::~Dog()
    {
        cout << "Dog的析构函数被调用" << endl;
    }
    
    
    int main()
    {
    
        Dog Fido;//狗是小子
        Fido.Speak();
        Fido.WagTail();
        cout << "Fido is: " << Fido.GetAge() << "years old" << endl;
        //getchar();
        //system("pause");
        return 0;
    }
    欢迎讨论,相互学习。 txwtech@163.com
  • 相关阅读:
    js加入购物车抛物线动画
    mysql模糊查询like/REGEXP
    Servlt入门
    JSON详解
    AJAX技术初级探索
    css与js基础
    JDBC
    数据库
    反射
    网络编程
  • 原文地址:https://www.cnblogs.com/txwtech/p/12194129.html
Copyright © 2011-2022 走看看