Problem A: 类型可变的类

Description

定义一个Data类,至少包含1个int类型的数据成员、1个double类型的数据成员,定义其构造函数和析构函数,使得程序执行时,能产生样例所示的结果。

Input

输入2行,第1行是1个int类型的数据,第2行是1个double类型的数据。

Output

见样例

Sample Input

120
3.14

Sample Output

A default object is created.
An integer object 120 is created.
A double object 3.14 is created.
The double object 3.14 is erased.
The integer object 120 is erased.
The default object is erased.

HINT

Append Code

int main()
{
    Data d1;
    int i;
    cin>>i;
    Data d2(i);
    double d;
    cin>>d;
    Data d3(d);
    return 0;
}

Sample Code

#include<iostream>
 
using namespace std;
 
class Data
{
    int x;
    double y;
    int c;
public:
    Data():c(0){cout<<"A default object is created."<<endl;}
    Data(int a):x(a),c(1){cout<<"An integer object "<<x<<" is created."<<endl;}
    Data(double b):y(b),c(2){cout<<"A double object "<<y<<" is created."<<endl;}
    ~Data()
    {
        if(c==0) cout<<"The default object is erased."<<endl;
        else if(c==1) cout<<"The integer object "<<x<<" is erased."<<endl;
        else if(c==2) cout<<"The double object "<<y<<" is erased."<<endl;
    }
};
int main()
{
    Data d1;
    int i;
    cin>>i;
    Data d2(i);
    double d;
    cin>>d;
    Data d3(d);
    return 0;
}

猜你喜欢

转载自blog.csdn.net/lemon_syf/article/details/89742676
今日推荐