C++实现计算器类的封装
时间: 2024-09-27 14:07:00 浏览: 26
在C++中,我们可以创建一个简单的计算器类来封装加、减、乘、除等基本数学运算。下面是一个基础的示例,包含一个Calculator类,包含了加法、减法、乘法和除法的方法:
```cpp
class Calculator {
private:
double number1;
double number2;
public:
// 构造函数用于设置初始值
Calculator(double num1 = 0, double num2 = 0) : number1(num1), number2(num2) {}
// 封装的加法操作
double add() const {
return number1 + number2;
}
// 封装的减法操作
double subtract() const {
return number1 - number2;
}
// 封装的乘法操作
double multiply() const {
return number1 * number2;
}
// 封装的除法操作,需要检查除数是否为0
double divide(double divisor) const {
if (divisor != 0)
return number1 / divisor;
else
throw std::invalid_argument("Divisor cannot be zero");
}
// 获取当前数值
double getNumber1() const { return number1; }
double getNumber2() const { return number2; }
// 设置数值
void setNumber1(double num) { number1 = num; }
void setNumber2(double num) { number2 = num; }
};
int main() {
Calculator calc(5, 3);
std::cout << "Addition: " << calc.add() << std::endl;
std::cout << "Subtraction: " << calc.subtract() << std::endl;
std::cout << "Multiplication: " << calc.multiply() << std::endl;
try {
std::cout << "Division: " << calc.divide(2) << std::endl;
} catch (const std::invalid_argument& e) {
std::cerr << "Error: " << e.what() << std::endl;
}
return 0;
}
```
这个Calculator类提供了对操作数的保护,用户只能通过公共方法访问或修改内部数值,这样就实现了数据的封装。
阅读全文