3. 객체 연산
• 허수 클래스를 정의하고, 객체를 생성하여 허수 덧셈을
실행하기
클래스 이름: ImaginaryNumber
멤버 변수:
실수부와 허수부의 실수 (허수부의 실수는 0이 아닌 실수)
멤버 함수:
생성자 1: 실수부가 0, 허수부가 1로 초기화
생성자 2: 실수부와 허수부를 매개변수로 전달하여 값을 지정
실수부 값과 허수부 값을 각각 전달받는 함수
실수부 값과 허수부 값을 객체 외부로 전달하는 각각의 함수
허수 형태로 문자열을 작성하는 함수
3/14
5. 허수의 덧셈
멤버 함수 추가
ImaginaryNumber AddImaginary(const ImaginaryNumber ima);
자기자신과 매개변수를 더해서 결과값을 리턴함
멤버 함수 정의
ImaginaryNumber ImaginaryNumber::AddImaginary(const ImaginaryNumber
ima)
{
ImaginaryNumber res;
res.a=this->a+ima.a;
res.b=this->b+ima.b;
}
객체 덧셈을 위한 함수 정의
return res;
5/14
13. 실습 – 시간 클래스 정의하기
클래스 이름: Time
멤버 변수: 시, 분, 초를 나타내는 부호 없는 정수와 초 단위로 시간을 나타냄
멤버 함수 :
생성자1: 매개변수 없이 멤버 변수를 0으로 초기화
생성자2: 시, 분, 초의 멤버 변숫값을 매개변수로 전달하여 초기화
초 단위로 시간을 나타내는 멤버 변숫값을 계산하는 멤버 함수 CalSecond( )
각 멤버 변숫값을 설정하는 멤버 함수
각 멤버 변숫값을 외부로 전달할 수 있는 멤버 함수
'00시 00분 00초' 형태로 외부에 전달하는 멤버 함수
13/14
14. 소스 13-10 (ch13_Time.h)
#ifndef _TIME_
#define _TIME_
#include <iostream>
#include <string>
#define HOUR_SEC 3600
#define MIN_SEC 60
using namespace std;
class Time
{
public :
Time();
Time(const int hour, const int min, const int sec);
void SetHour(const int hour);
void SetMin(const int min);
void SetSec(const int sec);
int GetHour();
int GetMin();
int GetSec();
int CalSec();
string ShowTime();
private :
};
int hour, min, sec;
int t_sec;
#else
#endif
14/14
15. TIME 클래스에 <=, >= 오버로딩하기
멤버 함수 선언
bool operator<=(Time timeObj);
bool operator>=(Time timeObj);
멤버 함수 정의
bool Time::operator<=(Time timeObj)
{
this->CalSec();
timeObj.CalSec();
}
bool Time::operator>=(Time timeObj)
{
this->CalSec();
timeObj.CalSec();
if (this->t_sec<=timeObj.t_sec)
if (thisreturn true;
>t_sec>=timeObj.t_sec)
else
return true;
return false;
else
return false;
}
15/14
16. 소스 13-16 (ch13_06.cpp) Time 클래스 테스트
#include "ch13_Time.h"
int main()
{
Time t1(7,30,20);
cout << t1.ShowTime() << endl;
cout << "시간 - 초단위 : " << t1.CalSec() << endl;
Time t2(4,50,23);
if (t1>=t2)
else
if (t1<=t2)
else
}
cout << t1.ShowTime() << "이 " << t2.ShowTime() << "보다 크거나 같다!!" << endl;
cout << t2.ShowTime() << "이 " << t1.ShowTime() << "보다 크거나 같다!!" << endl;
cout << t2.ShowTime() << "이 " << t1.ShowTime() << "보다 크거나 같다!!" << endl;
cout << t1.ShowTime() << "이 " << t2.ShowTime() << "보다 크거나 같다!!" << endl;
return 0;
16/14