1. 문제
실수의 지수 표현을 클래스 Exp로 작성하라. Exp를 이용하는 main() 함수와 실행 결과는 다음과 같다. 클래스 Exp를 Exp.h 헤더 파일과 Exp.cpp 파일로 분리하여 작성하라.
2. 결과
3. 코드
// main 파일
#include <iostream>
using namespace std;
#include "Exp.h"
int main() {
Exp a(3, 2);
Exp b(9);
Exp c;
cout << a.getValue() << ' ' << b.getValue() << ' ' << c.getValue() << endl;
cout << "a의 베이스 " << a.getBase() << ',' << "지수 " << a.getExp() << endl;
if( a.equals(b) )
cout << "same" << endl;
else
cout << "not same" << endl;
}
// Exp.cpp 파일
#include "Exp.h"
Exp::Exp() { base = 1; jisu = 1; }
Exp::Exp(int a) { base = a; jisu = 1; }
Exp::Exp(int a, int b) { base = a; jisu = b; }
int Exp::getValue() {
int result = base;
for( int i=1; i<jisu; i++ )
result *= base;
return result;
}
int Exp::getBase() {
return base;
}
int Exp::getExp() {
return jisu;
}
bool Exp::equals( Exp b) {
if( getValue() == b.getValue() ) return true;
else return false;
}
// Exp.h 파일
class Exp {
int base;
int jisu;
public :
Exp();
Exp(int a);
Exp(int a, int b);
int getValue();
int getBase();
int getExp();
bool equals( Exp b);
};
4. 설명
클래스 함수를 선언부와 구현부를 각 파일에 알맞게 나눠서 작성할 수 있는지를 확인하는 문제입니다.
선언부를 Exp.h 헤더 파일에다가 구현부를 Exp.cpp 파일에다가 구현합니다.
main파일에는 main()함수만 있어야 합니다.
클래스 멤버함수들의 이름은 힌트의 있는 이름을 사용하였습니다.
'명품 C++ programming' 카테고리의 다른 글
명품 C++ programming 실습문제 4장 2번 (0) | 2019.04.06 |
---|---|
명품 C++ programming 실습문제 4장 1번 (0) | 2019.04.06 |
명품 C++ programming 실습문제 3장 10번 (0) | 2019.04.06 |
명품 C++ programming 실습문제 3장 9번 (0) | 2019.04.06 |
명품 C++ programming 실습문제 3장 8번 (2) (0) | 2019.04.06 |