记录学习日常 代码可能有错 大家多多包涵 有好的建议提出的话 我会开心接纳 初学阶段
有一个类A及其公有派生类B、C、D。类A和main函数的代码已经完成,请根据已有的代码给出上述三个派生类的设计。
(只需要提交这三个类的代码)
程序的开头部分如下:
#include <iostream>
using namespace std;
class A{
int x,y;
public:
A(int a,int b):x(a),y(b){}
int getX()const{return x;}
int getY()const{return y;}
virtual void doSomething()=0;
};
main函数的代码如下:
int main(){
A *ap;
B b(1,2);
C c(3,4);
D d(5,6);
ap=&b;
ap->doSomething();
ap=&c;
ap->doSomething();
ap=&d;
ap->doSomething();
return 0;
}
输出描述
x和y的和是3
x和y的差是-1
x和y的积是30
class B:public A{
int x,y;
public:
B()=default;
B(int x,int y):x(x),y(y),A(x,y){}
void doSomething(){
cout<<"x和y的和是"<<x+y<<endl;
}
};
class C:public A{
int x,y;
public:
C()=default;
C(int x,int y):x(x),y(y),A(x,y){}
void doSomething(){
cout<<"x和y的差是"<<x-y<<endl;
}
};
class D:public A{
int x,y;
public:
D()=default;
D(int x,int y):x(x),y(y),A(x,y){}
void doSomething(){
cout<<"x和y的积是"<<x*y<<endl;
}
};