C++定义一个Object类,有数据成员weight及相应的 *** 作函数,由此派生出Box类,增加数据成员height和width及相应的 *** 作函数,声明一个Box对象,观察构造函数和析构函数的调用顺序。

C++定义一个Object类,有数据成员weight及相应的 *** 作函数,由此派生出Box类,增加数据成员height和width及相应的 *** 作函数,声明一个Box对象,观察构造函数和析构函数的调用顺序。,第1张

【问题描述】

定义一个Object类,有数据成员weight及相应的 *** 作函数,由此派生出Box类,增加数据成员height和width及相应的 *** 作函数,声明一个Box对象,观察构造函数和析构函数的调用顺序。

【输入输出形式】

参考的输入及输出(其中Input开头的两段文字为输入提示和输入数据,其他均为输出):

Constructing Object!

Constructing Box!

Input weight:50

Input height and width:20 30

Weight:50

Height and width:20,30

Destructing Box!

Destructing Object!

我自己写的代码如下:
#include  
#include  
using  namespace  std;
class  Object
{
public:
        Object()//构造函数
        {
                cout<<"Constructing  Object!"<<endl;
        }
        ~Object()//析构函数
        {
                cout<<"Destructing  Object!"<<endl;
        }
        void  getInfo()//类Object的成员函数
        {
                cout<<"Input  weight:";
                cin>>weight;
        }
        void  showInfo()//类Object的成员函数
        {
                cout<<"Weight:"<<weight<<endl;
        }
private:
        int  weight;
};
class Box:public Object{//派生类Box
private:
    int height;
    int width;
public:
    Box()
    {
        cout<<"Constructing Box!"<<endl;
    }
    ~Box()
    {
        cout<<"Destructing Box!"<<endl;
    }

    void  getInfo()
    {
        Object::getInfo();//在类Object中调用成员函数getInfo()
        cout<<"Input height and width:";
        cin>>height>>width;
    }

    void  showInfo()
        {
            Object::showInfo();//在类Object中调用成员函数showInfo()
                cout<<"Height and width:"<<height<<","<<width<<endl;
        }
};

int  main()
{
        Box  box;
        box.getInfo();//调用类的成员函数
        box.showInfo();
        return  0;
}

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/662352.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-04-18
下一篇 2022-04-18

发表评论

登录后才能评论

评论列表(0条)

保存