반응형
//************************************************ // 연산자 오버 로딩 !! !! // - 하나의 연산자가 여려가지 용도로 사용되게 하는것 !! //************************************************ // ex) // << : 비트 시프트 연산자 !! #includeusing namespace std; class MyCout { // << :연산자 오버로딩 함수를 추가 !! // 1) 멤버 함수 연산자 오버로딩 !! public: MyCout() { static int cnt = 0; cout << ++cnt << endl; } MyCout( const MyCout & c ) { cout << "xxxxx" << endl; } MyCout & operator<<( int x ) { printf("%d", x); return (*this); } MyCout & operator<<(char * str) { printf(str); return (*this); } MyCout & operator<<( double d) { printf("%g", d); return (*this); } MyCout & operator<<( void * p) { printf("\n"); return (*this); } }; // Cout객체 전역 변수 선언 !! MyCout Cout; void main() { Cout << 100 << "도선아" << 3.14 ; // cout << 100 << endl; // cout.operator<<("xxxx"); //연산자 오버로딩은 연산자를 이름으로 갖는 함수의 호출이다 !! }
'C, C++' 카테고리의 다른 글
[C++] () 연산자 오버로딩 !! (0) | 2014.11.18 |
---|---|
[C++] 전역 함수를 이용한 연산자 오버로딩 (0) | 2014.11.18 |
[C++] 다형성 (0) | 2014.11.18 |
[C++] 상속 이란? 이해, 생성, 소멸 (0) | 2014.11.18 |
[C++] this 이해 (0) | 2014.11.18 |