• 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 !!!

  • 相关阅读:
    是否可以在tomcat servlet中禁用jsessionid?
    一个屌丝程序猿的人生(一百二十一)
    postman 使用
    【Ubuntu】命令行安装deb安装包
    opencv的cascade分类器源码分析
    Face Detection – OpenCV, Dlib and Deep Learning ( C++ / Python )
    小样本目标检测研究现状
    图像特征提取三大法宝:HOG特征,LBP特征,Haar特征
    搞清楚nand flash和 nor flash 以及 spi flash 和cfi flash 的区别
    xhsell远程vmware ubuntu16.04
  • 原文地址:https://www.cnblogs.com/Jie-Fei/p/9129565.html
Copyright © 2020-2023  润新知