zoukankan      html  css  js  c++  java
  • C7-3 用类实现a+b (100/100 分数)

    题目描述

    下面的代码声明了两个基类Base1和Base2,然后从这两个基类按照公有方式派生出类Derived。基类和派生类都各自包含一个公有成员x,并且Base1和Base2各有接受一个整型参数的构造函数,Derived的构造函数接受Base1和Base2的对象引用a,b来初始化Derived类对象,并令x为Base1::x和Base2::x之和。请将下面的代码补充完成,使得输出符合要求。

    #include <iostream>
    using namespace std;

    struct Base1
    {
    int x;
    Base1(int x);
    };

    struct Base2
    {
    int x;
    Base2(int x);
    };

    struct Derived:public Base1, public Base2
    {
    int x;
    Derived(Base1& a, Base2& b);
    };

    //请实现Base1,Base2, Derived的构造函数

    int main()
    {
    int x, y;
    cin >> x >> y;
    Base1 a(x);
    Base2 b(y);
    Derived d(a, b);
    cout << d.Base1::x << "+" << d.Base2::x << "=" << d.x << endl;
    return 0;
    }



    输入描述

    每组输入为 2 个整数用空格隔开



    输出描述

    主函数自动完成输出



    样例输入

    1 2


    样例输出

    1+2=3
    #include <iostream>
    using namespace std;
     
    struct Base1
    {
        int x;
        Base1(int x);
    };
     
    struct Base2
    {
        int x;
        Base2(int x);
    };
     
    struct Derived:public Base1, public Base2
    {
        int x;
        Derived(Base1& a, Base2& b);
    };
    
    //请实现Base1,Base2, Derived的构造函数
    
    Base1::Base1(int x){this->x=x;}
    
    Base2::Base2(int x){this->x=x;}
    
    Derived::Derived(Base1& a,Base2& b):Base1(a),Base2(b){x=Base1::x+Base2::x;}
    
    int main()
    {
        int x, y;
        cin >> x >> y;
        Base1 a(x);
        Base2 b(y);
        Derived d(a, b);
        cout << d.Base1::x << "+" << d.Base2::x << "=" << d.x << endl;
        return 0;
    }
  • 相关阅读:
    LeetCode 8 有效的括号
    String源码学习
    LeetCode 7最长公共前缀
    LeetCode 5回文数
    LeetCode 6罗马数字转整数
    LeetCode 4.反转整数
    LeetCode 3.无重复字符的最长子串
    区分子串和子序列
    LeetCode 1.两数之和
    一个十分好用的动画工具:Velocity.js
  • 原文地址:https://www.cnblogs.com/qianxuejin/p/9050384.html
Copyright © 2011-2022 走看看