#include <iostream.h>
class Calc
{
private:
int x,y;
char op;
int total;
int sum()
{
total = x+y;
return total;
}
int sub()
{
total = x-y;
return total;
}
int multiply()
{
total = x*y;
return total;
}
int division()
{
total = x/y;
return total;
}
int remainder()
{
total = x%y;
return total;
}
/*
↑ 위의 함수들은 전부 inline 함수이다.
클래스 블록 안에서 함수에 내용을 적으면, 자동으로 인라인 함수가 된다.
(단, 반복문이나 조건문 등이 오면 자동으로 일반함수로 취급받게 된다.)
inline 함수는 함수가 값을 받아 반환하는데 필요한 오버헤드 현상이 적게 일어난다.
반면 반복 사용시 프로그램의 크기가 커질 수 있다. 그러므로 적은 수의 함수 일 때 사용하자.
*/
public:
Calc(); // 디폴트 생성자 정의
~Calc(); // 소멸자 정의
void calculation(); // 함수 정의
};
Calc::Calc() // 디폴트 생성자가 수행할 세부 수행사항
{
cout << "첫번째 수를 입력하세요:";
cin >> x;
cout << "연산자(+,-,*,/,%)를 입력하세요:";
cin >> op;
cin.get();
cout << "두번째 수를 입력하세요:";
cin >> y;
}
Calc::~Calc()
{} // 소멸자
void Calc::calculation()
{
switch(op)
{
case '+': cout << "두 수의 합은 " << sum() << "입니다." << endl;
break;
case '-': cout << "두 수의 차는 " << sub() << "입니다." << endl;
break;
case '*': cout << "두 수의 곱은 " << multiply() << "입니다." << endl;
break;
case '/': cout << "두 수를 나눈 값은 " << division() << "입니다." << endl;
break;
case '%': cout << "두 수를 나눈 나머지는 " << remainder() << "입니다." <<endl;
break;
default : cout << "연산자가 잘못 되었습니다." << endl;
// exit(0);
}
}
void main()
{
Calc cc;
cc.calculation();
}
'IT_Programming > C · C++' 카테고리의 다른 글
HOWTO: Visual C++ 어플리케이션에서 메모리 누수 추적하는 방법 (0) | 2007.08.30 |
---|---|
strcpy(), strcat(), strlen(), strcmp() 함수를 직접 만드시오 (포인터연습) (0) | 2007.01.29 |
에라토스테네스의 체.. 매크로로 정한 수까지 모든 소수를 찾아라. (0) | 2007.01.26 |
printf와 scanf에 관한 짤막한 글 (0) | 2007.01.24 |
포인터 선언과 연산 테스트 (0) | 2007.01.24 |