728x90
#include <iostream>
#include <string>
using namespace std;
class Adder {
protected:
int add(int a, int b) { return a + b; }
};
class Subtractor {
protected:
int minus(int a, int b) { return a - b; }
};
class Mul {
protected:
int mul(int a, int b) { return a * b; }
};
class Div {
protected:
int div(int a, int b) { return a / b; }
};
// 다중 상속
class Calculator : public Adder, public Subtractor, public Mul, public Div {
public:
int calc(char op, int a, int b);
};
int Calculator::calc(char op, int a, int b) {
int res = 0;
switch (op) {
case '+': res = add(a, b); break;
case '-': res = minus(a, b); break;
case '*': res = mul(a, b); break;
case '/': res = div(a, b); break;
}
return res;
}
int main() {
cout << "2018305065 전유정" << endl << endl;
Calculator handCalculator;
char answer, op;
int x, y;
while (true) {
cout << "연산을 입력하세요 >> " << endl;
cin >> x >> op >> y;
cout << x << ' ' << op << ' ' << y << " = ";
cout << handCalculator.calc(op, x, y) << endl;
cout << "계속 하시겠습니까?(Y/N) >> ";
cin >> answer;
if (answer == 'N') break;
}
}
반응형
'전공 공부 > C++' 카테고리의 다른 글
클래스 Shape 가상 함수 (0) | 2021.06.16 |
---|---|
클래스 BaseArray (상속) (0) | 2021.06.16 |
클래스 NameCircle (상속, 파생 클래스와 생성자 작성) (0) | 2021.06.07 |
클래스 Circle (프렌드 함수로 연산자 구현) (0) | 2021.06.07 |
클래스 Matrix <<, >> 연산자 구현 (0) | 2021.06.07 |