zoukankan      html  css  js  c++  java
  • Problem B: 还会用继承吗?

    Problem B: 还会用继承吗?

    Time Limit: 1 Sec  Memory Limit: 128 MB
    Submit: 2599  Solved: 1892
    [Submit][Status][Web Board]

    Description

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

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

    Input

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

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

    Output

    见样例。

    Sample Input

    1
    10 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
    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);
        }
    }
    

      

    #include <iostream>
    using namespace std;
    class Base
    {
    public :
        int num;
        Base(int t):num(t)
        {
            cout<<"Base = "<<num<<" is created."<<endl;
        }
        Base(const Base &p)
        {
            num=p.num;
            cout<<"Base = "<<num<<" is copied."<<endl;
        }
        ~Base()
        {
            cout<<"Base = "<<num<<" is erased."<<endl;
        }
    };
    class Derived:public Base
    {
    public :
        int num2;
        Derived(int a, int b):Base(a), num2(b)
        {
            cout<<"Derived = "<<num2<<" is created."<<endl;
        }
        Derived(const Derived &p):Base(p),num2(p.num2)//子类可以拷贝给基类
        {
            cout<<"Derived = "<<num2<<" is copied."<<endl;
        }
        ~Derived()
        {
            cout<<"Derived = "<<num2<<" 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);
        }
    }
    

      

     

    作者:7oDo

    仅供参考,请勿抄袭。

    Hang Hang Hang !!!

  • 相关阅读:
    UVA 10618 Tango Tango Insurrection
    UVA 10118 Free Candies
    HDU 1024 Max Sum Plus Plus
    POJ 1984 Navigation Nightmare
    CODEVS 3546 矩阵链乘法
    UVA 1625 Color Length
    UVA 1347 Tour
    UVA 437 The Tower of Babylon
    UVA 1622 Robot
    UVA127-"Accordian" Patience(模拟)
  • 原文地址:https://www.cnblogs.com/Jie-Fei/p/9129565.html
Copyright © 2011-2022 走看看