Problem A: 还会用继承吗?

2023-05-25 21:05:49 继承 会用 Problem

Home

WEB Board

ProblemSet

Standing

Status

Statistics


Problem A: 还会用继承吗?


Time Limit: 1 Sec    Memory Limit:  128 MB  

Submit: 1756  

Solved: 1255  

[ Submit][Status][Web Board]


Description



定义一个Base类,包括1个int类型的属性,以及满足输出格式要求的构造函数、拷贝构造函数和析构函数。

定义Base类的子类Derived,包括1个int类型的属性, 以及满足输出格式要求的构造函数、拷贝构造函数和析构函数。



Input



第1行N>0表示测试用例个数。

每个测试包括2个int类型的整数。



Output



见样例。



Sample Input



110 20



Sample Output



Base = 10 is created.Base = 10 is copied.Base = 10 is created.Derived = 20 is created.Base = 10 is copied.Derived = 20 is copied.Derived = 20 is erased.Base = 10 is erased.Derived = 20 is erased.Base = 10 is erased.Base = 10 is erased.Base = 10 is erased.



HINT

Append Code



append.cc,


[  Submit][Status][Web Board]


한국어<  中文 فارسی English ไทย All Copyright Reserved 2010-2011  SDUSTOJ TEAM
GPL2.0 2003-2011 HUSTOJ Project TEAM
Anything about the Problems, Please Contact Admin:admin


#include <iOStream>
using namespace std;
class Base
{
protected:
    int x_;
public:
    Base(int x = 0) : x_(x){ cout << "Base = " << x_ << " is created." << endl;}
    Base(const Base & b) : x_(b.x_) { cout << "Base = " << x_ << " is copied." << endl; }
    ~Base(){ cout << "Base = " << x_ << " is erased." << endl; }
};
class Derived :public Base
{
private:
    int y_;
public:
    Derived(int x, int y) : Base(x),y_(y) { cout << "Derived = " << y_ << " is created." << endl; }
    Derived(const Derived & d) : Base(d),y_(d.y_) { cout << "Derived = " << y_ << " is copied." << endl; }
    ~Derived(){ cout << "Derived = " << y_ << " is erased." << endl; }
 
};
int main()
{
    int cases, data1, data2;
    cin>>cases;
    for (int i = 0; i < cases; i++)
    {
        cin>>data1>>data2;
        Base base1(data1), base2(base1);
 
        Derived derived1(data1, data2), derived2(derived1);
    }
}

相关文章