【问题描述】
定义一个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;
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)