Menu
Coddy logo textTech

요약 - 간단한 계산기

Coddy C++ 여정의 객체 지향 프로그래밍 섹션에 포함된 레슨 — 104개 중 11번째.

challenge icon

챌린지

어려움

지금까지 배운 모든 개념을 결합하여 완전한 Calculator 클래스를 구축하세요:

  • 헤더/소스 파일 — 선언과 구현을 분리합니다.
  • 네임스페이스 — 클래스를 CalcApp 내부에 배치합니다.
  • Private 속성name (string), memory (int), operationCount (int)
  • 생성자 — 매개변수가 있는 생성자 (name) 및 기본 생성자 ("Standard")
  • this 포인터 — 모든 멤버 접근에 this->를 사용합니다.
  • 메서드add, subtract, multiply, divide (각 메서드는 결과를 memory에 저장하고 operation count를 증가시킵니다)
  • GettergetName(), getMemory(), getOperationCount()

divide는 0으로 나눌 때 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;
}

객체 지향 프로그래밍의 모든 레슨