用C++语言写出 要采用面向对象的程序设计方法实现对标准数据类型进行加、减、乘、除、平方和立方运算的计算器
时间: 2023-10-20 09:16:35 浏览: 46
以下是一个简单的面向对象的计算器,实现了基本的加、减、乘、除、平方和立方运算:
```cpp
#include <iostream>
#include <cmath>
using namespace std;
class Calculator {
private:
double num1, num2;
public:
Calculator(double n1, double n2) {
num1 = n1;
num2 = n2;
}
double add() {
return num1 + num2;
}
double subtract() {
return num1 - num2;
}
double multiply() {
return num1 * num2;
}
double divide() {
if (num2 != 0) {
return num1 / num2;
} else {
cout << "Error: Division by zero!" << endl;
return 0;
}
}
double square() {
return pow(num1, 2);
}
double cube() {
return pow(num1, 3);
}
};
int main() {
double num1, num2;
char op;
cout << "Enter two numbers: ";
cin >> num1 >> num2;
cout << "Enter an operator (+, -, *, /, ^2, ^3): ";
cin >> op;
Calculator calc(num1, num2);
switch (op) {
case '+':
cout << "Result: " << calc.add() << endl;
break;
case '-':
cout << "Result: " << calc.subtract() << endl;
break;
case '*':
cout << "Result: " << calc.multiply() << endl;
break;
case '/':
cout << "Result: " << calc.divide() << endl;
break;
case '^':
cout << "Enter power (2 or 3): ";
int power;
cin >> power;
if (power == 2) {
cout << "Result: " << calc.square() << endl;
} else if (power == 3) {
cout << "Result: " << calc.cube() << endl;
} else {
cout << "Error: Invalid power!" << endl;
}
break;
default:
cout << "Error: Invalid operator!" << endl;
break;
}
return 0;
}
```
在这个程序中,我们定义了一个 Calculator 类来执行加、减、乘、除、平方和立方运算。在 main 函数中,我们首先要求用户输入两个数字和一个运算符。然后我们创建一个 Calculator 对象,并根据运算符调用相应的计算方法。最后,我们将结果输出到屏幕上。
需要注意的是,在除法运算中,我们要检查除数是否为零,以避免出现除以零的错误。在平方和立方运算中,我们要求用户输入一个指数,然后根据指数调用相应的方法。如果用户输入了一个无效的指数,则会出现错误消息。