回顾:简单计算器
本课属于 Coddy C++ 学习旅程的“面向对象编程”单元。第 11 课,共 104 课。
挑战
困难构建一个完整的 Calculator 类,综合运用你学过的所有概念:
- 头文件/源文件:分开编写声明和实现
- 命名空间:将类放在
CalcApp中 - 私有属性:
name(字符串)、memory(int)、operationCount(int) - 构造函数:带参数的构造函数(name)和默认构造函数("Standard")
- this 指针:访问所有成员时都使用
this-> - 方法:
add、subtract、multiply、divide(每个方法都会将结果存入 memory,并增加操作计数) - Getter 方法:
getName()、getMemory()、getOperationCount()
除数为零时,divide 应返回 0。
亲手试试
#include <iostream>
#include "Calculator.h"
int main() {
std::string name;
int a, b;
std::getline(std::cin, name);
std::cin >> a >> b;
CalcApp::Calculator calc(name);
std::cout << "Calculator: " << calc.getName() << std::endl;
std::cout << "Memory: " << calc.getMemory() << std::endl;
std::cout << "Add: " << calc.add(a, b) << std::endl;
std::cout << "Subtract: " << calc.subtract(a, b) << std::endl;
std::cout << "Multiply: " << calc.multiply(a, b) << std::endl;
std::cout << "Divide: " << calc.divide(a, b) << std::endl;
std::cout << "Divide by zero: " << calc.divide(a, 0) << std::endl;
std::cout << "Memory: " << calc.getMemory() << std::endl;
std::cout << "Operations: " << calc.getOperationCount() << std::endl;
return 0;
}面向对象编程中的所有课
自己练习: C++ 在线编译器