记录学习日常 代码可能有错 大家多多包涵 有好的建议提出的话 我会开心接纳 初学阶段
定义一个抽象的计算类Operation,该类有两个数据成员numberA和numberB,都是int型,分别用于表示要操作的两个数。该类还有一个纯虚函数getResult,代表对numberA和numberB的某种计算并返回结果。由Operation类派生出加法类Add、减法类Sub、乘积类Product以及平方和类SumOfSquares,并在这四个派生类中实现基类中的纯虚函数。在主函数中创建加法类、减法类、乘积类和平方和类的对象并定义一个Operation类的指针,用Operation类的指针指向不同派生类的对象,然后通过该指针调用getResult函数计算并输出结果。
main函数已经完成,请根据main函数完成类的设计:
int main(){
int numA,numB;
cin>>numA>>numB;
Add add(numA,numB); //和
Sub sub(numA,numB); //差
Product pro(numA,numB); //乘积
SumOfSquares sos(numA,numB); //平方和
Operation *op;
op=&add;
cout<<op->getResult()<<endl;
op=⊂
cout<<op->getResult()<<endl;
op=&pro;
cout<<op->getResult()<<endl;
op=&sos;
cout<<op->getResult()<<endl;
return 0;
}
样例输入输出:
10 20
30
-10
200
500
30
-10
200
500
#include <iostream>
using namespace std;
class Operation{
int numberA;
int numberB;
public:
virtual int getResult()=0;
};
class Add:public Operation{
int a;
int b;
public:
Add()=default;
Add(int a,int b):a(a),b(b){}
int getResult(){
return a+b;
}
};
class Sub: public Operation{
int a;
int b;
public:
Sub()=default;
Sub(int a,int b):a(a),b(b){}
int getResult(){
return a-b;
}
};
class Product: public Operation{
int a;
int b;
public:
Product()=default;
Product(int a,int b):a(a),b(b){}
int getResult(){
return a*b;
}
};
class SumOfSquares: public Operation{
int a;
int b;
public:
SumOfSquares()=default;
SumOfSquares(int a,int b):a(a),b(b){}
int getResult(){
return a*a+b*b;
}
};
本文介绍了如何设计一个抽象的Operation类,以及其派生类Add、Sub、Product和SumOfSquares,展示了如何通过虚函数和指针实现不同运算。实例演示了如何在main函数中创建并调用这些类的getResult方法。
1580

被折叠的 条评论
为什么被折叠?



