C++ Logo
C++二级在线二级在线
首页选择题程序题成为会员帮助其他科目

继承与求和

请修改编辑器中的代码,完成以下功能:程序中定义了一个基类 Base 和一个派生类 Derived,Base 类包含两个整数成员变量和一个计算它们和的成员函数 sum()。Derived 类继承自 Base 类,并新增一个整数成员变量 mem3,同时定义了同名sum()函数(隐藏基类同名非虚函数)以计算 Base 类的 sum() 值与 mem3 的和。请在代码中补充合适的内容以完成 Derived 类的定义和构造函数的实现,使得程序能够正确运行并输出结果。 程序不需要输入。 输出示例: sum=55

#include<iostream>
using namespace std;
class Base
{
  public:
	  Base(int m1,int m2) { 
		mem1=m1; mem2=m2;
	  }
	  int sum(){return mem1+mem2;}
  private:
    int mem1,mem2;    //基类的数据成员
};
	
// 派生类Derived从基类Base公有继承
//*************found**************
class Derived: _______________
{
public:
    //构造函数声明
    Derived(int m1,int m2, int m3); 
    //sum函数定义,要求返回mem1、mem2和mem3之和
    //*************found**************
    int sum(){ return _____________+mem3;}
private:
    int mem3;         //派生类本身的数据成员
};

//构造函数的类外定义,要求由m1和m2分别初始化mem1和mem2,由m3初始化mem3
//**********found**********
____________Derived(int m1, int m2, int m3):
//**********found**********
____________, mem3(m3){} 

int main() {
    Base a(4,6);
    Derived b(10,15,20);
    int sum=a.sum()+b.sum(); 
	cout<<"sum="<<sum<<endl;
    return 0;
} 

控制台

调试终端

准备就绪