Menu
Coddy logo textTech

復習 - シンプルな電卓

CoddyのC++ジャーニー「オブジェクト指向プログラミング」セクションの一部。レッスン 11/104。

challenge icon

チャレンジ

難しい

これまでに学んだすべての概念を組み合わせた完全な Calculator クラスを構築してください:

  • ヘッダーファイル/ソースファイル:宣言と実装を分離する
  • namespace:クラスを CalcApp の内部に配置する
  • private属性name(string)、memory(int)、operationCount(int)
  • constructors:引数付き(name)とデフォルト("Standard")
  • thisポインター:すべてのmemberへのaccessに this-> を使用する
  • Methodsaddsubtractmultiplydivide(それぞれresultをmemoryに格納し、operationCountをincrementsする)
  • GettersgetName()getMemory()getOperationCount()

ゼロで割る場合、divideは0を返すshould。

自分で試してみよう

#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++オンラインコンパイラ