1. 문제
(2) 클래스의 선언부와 구현부를 헤더 파일과 cpp 파일로 나누어 프로그램을 작성하라.
2. 결과
3. 코드
// main.cpp
#include <iostream>
#include <string>
using namespace std;
#include "Calculator.h"
int main() {
char cal[10]; char *p;
int x, y;
while(1) {
cout << "두 정수와 연산자를 입력하세요>>";
cin.getline( cal, 20);
x = stoi( strtok( cal, " ") );
y = stoi( strtok( NULL, " ") );
p = strtok( NULL, "");
if( strcmp( p, "+") == 0 ) {
Add a;
a.setValue(x, y);
cout << a.calculate() << endl; }
else if( strcmp( p, "-") == 0 ) {
Sub s;
s.setValue(x, y);
cout << s.calculate() << endl; }
else if( strcmp( p, "*") == 0 ) {
Mul m;
m.setValue(x, y);
cout << m.calculate() << endl; }
else if( strcmp( p, "/") == 0 ) {
Div d;
d.setValue(x, y);
cout << d.calculate() << endl; }
}
}
// Calculator.cpp
#include "Calculator.h"
void Add::setValue(int x, int y) {
a = x; b = y;
}
int Add::calculate() {
return a+b;
}
void Sub::setValue(int x, int y) {
a = x; b = y;
}
int Sub::calculate() {
return a-b;
}void Mul::setValue(int x, int y) {
a = x; b = y;
}
int Mul::calculate() {
return a*b;
}void Div::setValue(int x, int y) {
a = x; b = y;
}
int Div::calculate() {
return a/b;
}
// Calculator.h
class Add {
int a;
int b;
public :
void setValue(int x, int y);
int calculate();
};
class Sub {
int a;
int b;
public :
void setValue(int x, int y);
int calculate();
};
class Mul {
int a;
int b;
public :
void setValue(int x, int y);
int calculate();
};
class Div {
int a;
int b;
public :
void setValue(int x, int y);
int calculate();
};
4. 설명
클래스의 선언부를 Calculator.h 헤더파일에 구현부는 Calculator.cpp 파일에 각각 나누어서 작성합니다.
main파일에는 main함수만 있도록 만드셔야 합니다.
※ 사용자가 만든 헤더 파일에 include하기 위해서는 #include "Claculator.h" 이처럼 ""을 사용하셔야 합니다.
'명품 C++ programming' 카테고리의 다른 글
명품 C++ programming 실습문제 3장 10번 (0) | 2019.04.06 |
---|---|
명품 C++ programming 실습문제 3장 9번 (0) | 2019.04.06 |
명품 C++ programming 실습문제 3장 8번 (1) (0) | 2019.04.06 |
명품 C++ programming 실습문제 3장 7번 (1) | 2019.04.06 |
명품 C++ programming 실습문제 3장 6번 (0) | 2019.04.06 |