Menu
CoddyTech

回顾:简单计算器

本课属于 Coddy C++ 学习旅程的“面向对象编程”单元。第 11 课,共 104 课。

challenge icon

挑战

困难

构建一个完整的 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++ 在线编译器