需求描述:
设计一个计算器类:
利用多态技术,设计实现两个操作数进行运算的计算器类
(实现'加法'、'减法'、'乘法'的运算)
#include <iostream>
#include <string>
/*
设计一个计算器类:
利用多态技术,设计实现两个操作数进行运算的计算器类
(实现'加法'、'减法'、'乘法'的运算)
*/
using namespace std;
class Calculator {
public :
int num1;
int num2;
int result;
Calculator(int a = 0, int b = 0) : num1(a), num2(b) {}
virtual int getRes() = 0;
};
//加法
class Cal_Add : public Calculator {
public :
Cal_Add(int a = 0, int b = 0) : Calculator(a, b) {
result = num1 + num2;
}
void setNum(int a, int b) {
num1 = a;
num2 = b;
}
int getNum1() {
return num1;
}
int getNum2() {
return num2;
}
public :
int getRes() {
return result;
}
};
//减法
class Cal_Sub : public Calculator {
public :
Cal_Sub(int a = 0, int b = 0) : Calculator(a, b) {
result = num1 - num2;
}
void setNum(int a, int b) {
num1 = a;
num2 = b;
}
int getNum1() {
return num1;
}
int getNum2() {
return num2;
}
public :
int getRes() {
return result;
}
};
//乘法
class Cal_Mul : public Calculator {
public :
Cal_Mul(int a = 0, int b = 0) : Calculator(a, b) {
result = num1 * num2;
}
void setNum(int a, int b) {
num1 = a;
num2 = b;
}
int getNum1() {
return num1;
}
int getNum2() {
return num2;
}
public :
int getRes() {
return result;
}
};
int main() {
Cal_Add add1(7, 8);
cout << add1.getRes() << endl;//15
Cal_Sub sub1(10, 7);
cout << sub1.getRes() << endl;//3
Cal_Mul mul1(6, 8);
cout << mul1.getRes() << endl;//48
return 0;
}
程序执行结果: