zoukankan      html  css  js  c++  java
  • 类的继承(2)

    /*类的继承(2)*/

    #include "stdafx.h"
    #include <string.h>
    #include <iostream.h>

    class MyDate
    {
    public:
        MyDate()
        {
            cout << "
    成员构造" << endl;
        }
        ~MyDate()
        {
            cout << "
    成员构造" << endl;
        }
    };

    class Employee
    {
    protected:
        char *m_pName;
    private:
        short m_nAge;
        float m_fSalary;
    public:
        Employee() 
        {
            m_pName= NULL; 
            m_nAge = 0;
            m_fSalary = 0.0;
            cout << "
    基类构造" << endl;
        }
        Employee(char *pName, short nAge, float fSalary)
        {
            m_pName = new char[strlen(pName)+1];
            strcpy(m_pName,pName);
            m_nAge = nAge;
            m_fSalary = fSalary;
            cout << "
    基类构造(3参数)" << endl;
        }
        ~Employee()
        {
            if ( m_pName )
            {
                delete[] m_pName;
                m_pName = NULL;
            }
            cout << "
    基类析构" << endl;
        }
        void Print()
        {
            if ( m_pName )
                cout << m_pName <<endl;
           
            cout << m_nAge << m_fSalary << endl;
        }
    };

    class Manager:public Employee
    {
    private:
        int m_nLevel;
        MyDate m_nBirthDay;
    public:
        Manager(int nLevel)
            :Employee( "
    张三",20,2000 )
        {
            m_nLevel = nLevel;
            cout << "
    派生类构造" << endl;
        }
        ~Manager()
        {
            cout << "
    派生类析构" << endl;
        }
    };

    int main(int argc, char* argv[])
    {
       //
    构造顺序
        //
    基类====>成员======>派生类
        //
    析构顺序
        //
    派生类====>成员======>基类
        //
    如果基类有构造函数,派生类会产生一个默认的构造

        Employee e("abc",10,3568);   
        e.Print();
       
        return 0;
    }

  • 相关阅读:
    2、react-生命周期1※※※
    4.vue class 绑定- model基础应用
    1.react的基础
    Leetcode 5429 数组中的 k 个最强值
    leetcode 21.合并两个有序链表(迭代)
    【Postman请求无响应】Can not get any response
    【PageHelper】插件不生效的原因及解决办法
    【fasterxml.jackson】字段(反)序列号问题Access.WRITE_ONLY
    【SpringCloud-Maven】依赖版本比对
    【Charles】抓包工具使用
  • 原文地址:https://www.cnblogs.com/w413133157/p/1657046.html
Copyright © 2011-2022 走看看