요약 - 간단한 계산기
Coddy C++ 여정의 객체 지향 프로그래밍 섹션에 포함된 레슨 — 104개 중 11번째.
챌린지
어려움지금까지 배운 모든 개념을 결합하여 완전한 Calculator 클래스를 구축하세요:
- 헤더/소스 파일 — 선언과 구현을 분리합니다.
- 네임스페이스 — 클래스를
CalcApp내부에 배치합니다. - Private 속성 —
name(string),memory(int),operationCount(int) - 생성자 — 매개변수가 있는 생성자 (name) 및 기본 생성자 ("Standard")
- this 포인터 — 모든 멤버 접근에
this->를 사용합니다. - 메서드 —
add,subtract,multiply,divide(각 메서드는 결과를 memory에 저장하고 operation count를 증가시킵니다) - Getter —
getName(),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;
}