반응형
//************************************************************
// 전역 함수를 이용한 연산자 오버로딩 !!!
//************************************************************ 

#include 
using namespace std;

class Time
{
private:
	int m_h;
	int m_m;
	int m_s; 
public : 
	Time( int h = 12 , int m = 0 , int s = 0) : m_h(h), m_m(m), m_s(s){} 
	void Show() { cout << m_h <<":" << m_m << ":" << m_s << endl; }
	// C++에서는 시간을 나타내는 클래슬 제공하지 않는다 !! 
	// --> 시간 + 시간 : 시간  
	// --> 시간 + 정수 : 초 단위 
	// --> 시간 - 시간 :  시간 
	// --> 시간 - 정수 : 초 단위
	// --> 시간 == 시간 
	// --> 시간 != 시간 
	
	
	
	// 과연 좋은 방법일까?? 
	//friend ostream & operator<<( ostream & os ,  Time & time); 
};
//cout객체와 함께 time객체를 사용하기 위해서 전역 함수를 이용한 연산자 오바로딩 !! 
ostream & operator<<( ostream & os ,  Time & time) 
{
	time.Show();
	//os << time.m_h << ":" <<  time.m_m << ":" << time.m_s << endl; 
	return os; 
}

void main()
{
	Time time(8,19,0); 
	//time.Show();

	cout << time;

}

'C, C++' 카테고리의 다른 글

[C++] 동적 배열 클래스  (0) 2014.11.18
[C++] () 연산자 오버로딩 !!  (0) 2014.11.18
[C++] 연산자 오버로딩  (0) 2014.11.18
[C++] 다형성  (0) 2014.11.18
[C++] 상속 이란? 이해, 생성, 소멸  (0) 2014.11.18

+ Recent posts