SlideShare a Scribd company logo
C++ !
http://blog.naver.com/ruvendix
연산자 오버로딩의 필요성
클래스의 접근 함수(액세스 함수)로 필드를 가져오려니까 귀찮다…
클래스도 기본 자료형처럼 연산자에 자유로울 수는 없을까?
그래! 클래스에 맞게 연산자를 오버로딩하자!
연산자도 함수처럼 호출되고 반환 형식이 있으니까!
http://blog.naver.com/ruvendix
연산자와 이름 없는 임시 객체
연산자도 함수라서 호출되고 반환 형식이 있다!
하지만 반환 형식 때문에 이름 없는 임시 객체가 생성된다!
http://blog.naver.com/ruvendix
오버로딩이 불가능한 연산자
위에 있는 것들 말고도 몇 가지 더 존재함!
C++의 문법을 파괴할만한 연산자들은 오버로딩 불가!
각각의 연산자는 오버로딩 규칙이 존재함!
공통적으로 “operator 기호()” 형식을 따름!
http://blog.naver.com/ruvendix
+ 연산자 오버로딩
class CTest
{
int iNum;
const CTest operator +(int iAdd)
{
CTest Temp = iNum + iAdd;
return Temp;
}
};
CTest CTest1, CTest2;
CTest1 + CTest2; // 이게 가능함
+, -, *, /, %는 오버로딩 형식이 동일
http://blog.naver.com/ruvendix
관계 연산자 오버로딩
class CTest
{
int iNum;
bool CTest operator <(const CTest &rTest)
{
return (iNum < rTest.iNum);
}
};
CTest CTest1, CTest2;
CTest1 < CTest2; // 이게 가능함
<, <=, >, >=, == , !=은 오버로딩 형식이 동일
http://blog.naver.com/ruvendix
증감 연산자 오버로딩
class CTest
{
int iNum;
CTest &operator ++(void) // 전위 증가 연산자
{
iNum++;
return *this;
}
CTest operator ++(int) // 후위 증가 연산자
{
CTest Temp = *this;
iNum++;
return Temp;
}
};
전위 증감과
후위 증감은
서로 다름!
http://blog.naver.com/ruvendix
대입 연산자 오버로딩
class CTest
{
int iNum;
CTest &operator =(const CTest &rTest)
{
if (this != &rTest)
{
iNum = rTest.iNum;
}
return *this;
}
};
대입 연산자는 기본 대입 연산자가 있지만!
얕은 복사를 해결하려면 오버로딩해야 함!
대입 연산자는
메서드로만
오버로딩 가능!
복합 대입 연산자는
둘 다 가능!
http://blog.naver.com/ruvendix
배열 첨자 연산자 오버로딩
class CTest
{
int NumList[10];
const int &operator [](const int iIndex)
{
return NumList[iIndex];
}
};
CTest Test;
Test[2];
배열 첨자 연산자를 오버로딩하면
배열이 아닌데도 배열 첨자 연산자 사용 가능!
배열 첨자 연산자는
메서드로만
오버로딩 가능!
http://blog.naver.com/ruvendix
-> 연산자 오버로딩
class CPosition
{
void PrintPosition(void) const;
};
class CTest
{
CPosition Pos;
const CPosition *operator ->(void) const
{
return &Pos;
}
};
CTest Test;
Test->PrintPosition();
-> 연산자를 이용하면 필드에 좀 더 편하게 접근할 수 있음!
-> 연산자는
메서드로만
오버로딩 가능!
http://blog.naver.com/ruvendix
함수 호출 연산자 오버로딩
class CTest
{
int iNum;
const int operator ()(int iAdd)
{
return (iNum + iAdd);
}
};
CTest Test;
Test(10);
함수 호출 연산자를 오버로딩하면 객체를 함수처럼 사용할 수 있음!
그래서 함수 객체(Functor)라고 함!
() 연산자는
메서드로만
오버로딩 가능!
http://blog.naver.com/ruvendix
cout 오버로딩
class CTest
{
friend ostream &operator <<(ostream &rCout, const Ctest &rTest);
int iNum;
};
ostream &operator <<(ostream &rCout, const Ctest &rTest)
{
rCout << rTest.iNum << endl;
return rCout;
}
CTest Test;
cout << Test; // 이게 가능
cout은 오버로딩해서 사용하는 경우가 많음!
cin을 오버로딩할 때는 istream을 이용해야 함!
cout 연산자는
외부 함수로
오버로딩하는 게
편함!
http://blog.naver.com/ruvendix

More Related Content

What's hot

M5 6 1
M5 6 1M5 6 1
M5 6 1nexthw
 
More effective c++ chapter1 2_dcshin
More effective c++ chapter1 2_dcshinMore effective c++ chapter1 2_dcshin
More effective c++ chapter1 2_dcshin
Dong Chan Shin
 
More effective c++ 2
More effective c++ 2More effective c++ 2
More effective c++ 2현찬 양
 
모어이펙티브 C++ 3,4장 예외, 효율 스터디
모어이펙티브 C++ 3,4장 예외, 효율 스터디모어이펙티브 C++ 3,4장 예외, 효율 스터디
모어이펙티브 C++ 3,4장 예외, 효율 스터디
quxn6
 
자바와 사용하기2
자바와 사용하기2자바와 사용하기2
자바와 사용하기2destinycs
 
M1 2 1
M1 2 1M1 2 1
M1 2 1nexthw
 
Effective c++ 4
Effective c++ 4Effective c++ 4
Effective c++ 4현찬 양
 
Geveloper 160816
Geveloper 160816Geveloper 160816
Geveloper 160816
Nyeong Ahn
 
이펙티브 C++ 공부
이펙티브 C++ 공부이펙티브 C++ 공부
이펙티브 C++ 공부quxn6
 
More effective c++ 3
More effective c++ 3More effective c++ 3
More effective c++ 3현찬 양
 
More effective c++ 항목30부터
More effective c++ 항목30부터More effective c++ 항목30부터
More effective c++ 항목30부터
Dong Chan Shin
 
More effective c++ 1
More effective c++ 1More effective c++ 1
More effective c++ 1현찬 양
 
javascript01
javascript01javascript01
javascript01
ChangHyeon Bae
 
이펙티브 C++ 5,6 장 스터디
이펙티브 C++ 5,6 장 스터디이펙티브 C++ 5,6 장 스터디
이펙티브 C++ 5,6 장 스터디
quxn6
 
Effective c++ chapter 1,2 요약
Effective c++ chapter 1,2 요약Effective c++ chapter 1,2 요약
Effective c++ chapter 1,2 요약
Nam Hyeonuk
 
포스트모템디버깅과 프로세스 덤프 실전
포스트모템디버깅과 프로세스 덤프 실전포스트모템디버깅과 프로세스 덤프 실전
포스트모템디버깅과 프로세스 덤프 실전
주항 박
 
Effective c++ 2
Effective c++ 2Effective c++ 2
Effective c++ 2현찬 양
 
C++11 1
C++11 1C++11 1
C++11 1
명준 오
 

What's hot (20)

M5 6 1
M5 6 1M5 6 1
M5 6 1
 
More effective c++ chapter1 2_dcshin
More effective c++ chapter1 2_dcshinMore effective c++ chapter1 2_dcshin
More effective c++ chapter1 2_dcshin
 
More effective c++ 2
More effective c++ 2More effective c++ 2
More effective c++ 2
 
모어이펙티브 C++ 3,4장 예외, 효율 스터디
모어이펙티브 C++ 3,4장 예외, 효율 스터디모어이펙티브 C++ 3,4장 예외, 효율 스터디
모어이펙티브 C++ 3,4장 예외, 효율 스터디
 
자바와 사용하기2
자바와 사용하기2자바와 사용하기2
자바와 사용하기2
 
M1 2 1
M1 2 1M1 2 1
M1 2 1
 
Start groovy
Start groovyStart groovy
Start groovy
 
Effective c++ 4
Effective c++ 4Effective c++ 4
Effective c++ 4
 
Geveloper 160816
Geveloper 160816Geveloper 160816
Geveloper 160816
 
이펙티브 C++ 공부
이펙티브 C++ 공부이펙티브 C++ 공부
이펙티브 C++ 공부
 
More effective c++ 3
More effective c++ 3More effective c++ 3
More effective c++ 3
 
More effective c++ 항목30부터
More effective c++ 항목30부터More effective c++ 항목30부터
More effective c++ 항목30부터
 
More effective c++ 1
More effective c++ 1More effective c++ 1
More effective c++ 1
 
5 6 1
5 6 15 6 1
5 6 1
 
javascript01
javascript01javascript01
javascript01
 
이펙티브 C++ 5,6 장 스터디
이펙티브 C++ 5,6 장 스터디이펙티브 C++ 5,6 장 스터디
이펙티브 C++ 5,6 장 스터디
 
Effective c++ chapter 1,2 요약
Effective c++ chapter 1,2 요약Effective c++ chapter 1,2 요약
Effective c++ chapter 1,2 요약
 
포스트모템디버깅과 프로세스 덤프 실전
포스트모템디버깅과 프로세스 덤프 실전포스트모템디버깅과 프로세스 덤프 실전
포스트모템디버깅과 프로세스 덤프 실전
 
Effective c++ 2
Effective c++ 2Effective c++ 2
Effective c++ 2
 
C++11 1
C++11 1C++11 1
C++11 1
 

Viewers also liked

템플릿
템플릿템플릿
템플릿
. Ruvendix
 
형식 선정
형식 선정형식 선정
형식 선정
. Ruvendix
 
클래스의 기초 지식
클래스의 기초 지식클래스의 기초 지식
클래스의 기초 지식
. Ruvendix
 
동적할당
동적할당동적할당
동적할당
. Ruvendix
 
배열
배열배열
배열
. Ruvendix
 
구조체
구조체구조체
구조체
. Ruvendix
 
자료형과 값
자료형과 값자료형과 값
자료형과 값
. Ruvendix
 
포인터
포인터포인터
포인터
. Ruvendix
 
ShipFusion - What is efulfillment?
ShipFusion - What is efulfillment?ShipFusion - What is efulfillment?
ShipFusion - What is efulfillment?
shipfusion
 
Budo Cup 2015 - Результаты
Budo Cup 2015 - РезультатыBudo Cup 2015 - Результаты
표준 입출력
표준 입출력표준 입출력
표준 입출력
. Ruvendix
 
Invitation to the Minsk Open - Sanker Cup 2016
Invitation to the Minsk Open - Sanker Cup 2016Invitation to the Minsk Open - Sanker Cup 2016
Zvyagel Open 2015 - победители в категориях
Zvyagel Open 2015 - победители в категорияхZvyagel Open 2015 - победители в категориях
Курс Pro-KARATE 2017 (темы семинаров)
Курс Pro-KARATE 2017 (темы семинаров)Курс Pro-KARATE 2017 (темы семинаров)
Zvyagel Open 2017 - официальные результаты
Zvyagel Open 2017 - официальные результатыZvyagel Open 2017 - официальные результаты
Murmuration 003 - Get Inspired
Murmuration 003 - Get InspiredMurmuration 003 - Get Inspired
Murmuration 003 - Get Inspired
Shoot
 
Gucci by Meena Kukan
Gucci by Meena KukanGucci by Meena Kukan
Gucci by Meena Kukan
Meena Kukan
 
Oбщая теория интераций
Oбщая теория интерацийOбщая теория интераций
Oбщая теория интераций
Vubuntu Vera
 
МГЛК сезона 2016-2017 - 4-й этап - 19.03.2017 турнирные сетки
МГЛК сезона 2016-2017 - 4-й этап - 19.03.2017 турнирные сеткиМГЛК сезона 2016-2017 - 4-й этап - 19.03.2017 турнирные сетки
МГЛК сезона 2016-2017 - 4-й этап - 19.03.2017 турнирные сетки
Молодежное Общественное Объединение «Спортивный клуб «Сэнкё»»
 
Buelltin Nr.1 for the Karate World Championships 2016
Buelltin Nr.1 for the Karate World Championships 2016Buelltin Nr.1 for the Karate World Championships 2016
Buelltin Nr.1 for the Karate World Championships 2016
Federación Puertorriqueña de Karate
 

Viewers also liked (20)

템플릿
템플릿템플릿
템플릿
 
형식 선정
형식 선정형식 선정
형식 선정
 
클래스의 기초 지식
클래스의 기초 지식클래스의 기초 지식
클래스의 기초 지식
 
동적할당
동적할당동적할당
동적할당
 
배열
배열배열
배열
 
구조체
구조체구조체
구조체
 
자료형과 값
자료형과 값자료형과 값
자료형과 값
 
포인터
포인터포인터
포인터
 
ShipFusion - What is efulfillment?
ShipFusion - What is efulfillment?ShipFusion - What is efulfillment?
ShipFusion - What is efulfillment?
 
Budo Cup 2015 - Результаты
Budo Cup 2015 - РезультатыBudo Cup 2015 - Результаты
Budo Cup 2015 - Результаты
 
표준 입출력
표준 입출력표준 입출력
표준 입출력
 
Invitation to the Minsk Open - Sanker Cup 2016
Invitation to the Minsk Open - Sanker Cup 2016Invitation to the Minsk Open - Sanker Cup 2016
Invitation to the Minsk Open - Sanker Cup 2016
 
Zvyagel Open 2015 - победители в категориях
Zvyagel Open 2015 - победители в категорияхZvyagel Open 2015 - победители в категориях
Zvyagel Open 2015 - победители в категориях
 
Курс Pro-KARATE 2017 (темы семинаров)
Курс Pro-KARATE 2017 (темы семинаров)Курс Pro-KARATE 2017 (темы семинаров)
Курс Pro-KARATE 2017 (темы семинаров)
 
Zvyagel Open 2017 - официальные результаты
Zvyagel Open 2017 - официальные результатыZvyagel Open 2017 - официальные результаты
Zvyagel Open 2017 - официальные результаты
 
Murmuration 003 - Get Inspired
Murmuration 003 - Get InspiredMurmuration 003 - Get Inspired
Murmuration 003 - Get Inspired
 
Gucci by Meena Kukan
Gucci by Meena KukanGucci by Meena Kukan
Gucci by Meena Kukan
 
Oбщая теория интераций
Oбщая теория интерацийOбщая теория интераций
Oбщая теория интераций
 
МГЛК сезона 2016-2017 - 4-й этап - 19.03.2017 турнирные сетки
МГЛК сезона 2016-2017 - 4-й этап - 19.03.2017 турнирные сеткиМГЛК сезона 2016-2017 - 4-й этап - 19.03.2017 турнирные сетки
МГЛК сезона 2016-2017 - 4-й этап - 19.03.2017 турнирные сетки
 
Buelltin Nr.1 for the Karate World Championships 2016
Buelltin Nr.1 for the Karate World Championships 2016Buelltin Nr.1 for the Karate World Championships 2016
Buelltin Nr.1 for the Karate World Championships 2016
 

Similar to 연산자 오버로딩

More effective c++ chapter1,2
More effective c++ chapter1,2More effective c++ chapter1,2
More effective c++ chapter1,2문익 장
 
NHNNEXT 개경프14 Subway Rocket Team Study 3rd C++
NHNNEXT 개경프14 Subway Rocket Team Study 3rd C++NHNNEXT 개경프14 Subway Rocket Team Study 3rd C++
NHNNEXT 개경프14 Subway Rocket Team Study 3rd C++
Min-soo Park
 
The C++ Programming Language 5장 포인터, 배열, 구조체
The C++ Programming Language 5장 포인터, 배열, 구조체The C++ Programming Language 5장 포인터, 배열, 구조체
The C++ Programming Language 5장 포인터, 배열, 구조체해강
 
ES6 for Node.js Study
ES6 for Node.js StudyES6 for Node.js Study
ES6 for Node.js Study
승빈이네 공작소
 
연산자 오버로딩
연산자 오버로딩연산자 오버로딩
연산자 오버로딩
수빈 박
 
모어 이펙티브 c++ 1,2장 스터디
모어 이펙티브 c++ 1,2장 스터디모어 이펙티브 c++ 1,2장 스터디
모어 이펙티브 c++ 1,2장 스터디
quxn6
 
[아꿈사] The C++ Programming Language 11장 연산자 오버로딩
[아꿈사] The C++ Programming Language 11장 연산자 오버로딩[아꿈사] The C++ Programming Language 11장 연산자 오버로딩
[아꿈사] The C++ Programming Language 11장 연산자 오버로딩해강
 
C++ Advanced 강의 4주차
 C++ Advanced 강의 4주차 C++ Advanced 강의 4주차
C++ Advanced 강의 4주차
HyunJoon Park
 
liftIO 2022 quasiquote
liftIO 2022 quasiquoteliftIO 2022 quasiquote
liftIO 2022 quasiquote
Hyunseok Cho
 
나에 첫번째 자바8 람다식 지앤선
나에 첫번째 자바8 람다식   지앤선나에 첫번째 자바8 람다식   지앤선
나에 첫번째 자바8 람다식 지앤선daewon jeong
 
2014-15 Intermediate C++ Study #7
2014-15 Intermediate C++ Study #72014-15 Intermediate C++ Study #7
2014-15 Intermediate C++ Study #7
Chris Ohk
 
Ec++ 3,4 summary
Ec++ 3,4 summaryEc++ 3,4 summary
Ec++ 3,4 summarySehyeon Nam
 
함수
함수함수
함수
. Ruvendix
 
Effective c++chapter4
Effective c++chapter4Effective c++chapter4
Effective c++chapter4
성연 김
 
2014-15 Intermediate C++ Study #6
2014-15 Intermediate C++ Study #62014-15 Intermediate C++ Study #6
2014-15 Intermediate C++ Study #6
Chris Ohk
 
이펙티브 C++ 스터디
이펙티브 C++ 스터디이펙티브 C++ 스터디
이펙티브 C++ 스터디
quxn6
 
Effective c++ 1,2
Effective c++ 1,2Effective c++ 1,2
Effective c++ 1,2
세빈 정
 
About Visual C++ 10
About  Visual C++ 10About  Visual C++ 10
About Visual C++ 10
흥배 최
 
9 swift 클로저1
9 swift 클로저19 swift 클로저1
9 swift 클로저1
Changwon National University
 

Similar to 연산자 오버로딩 (20)

More effective c++ chapter1,2
More effective c++ chapter1,2More effective c++ chapter1,2
More effective c++ chapter1,2
 
NHNNEXT 개경프14 Subway Rocket Team Study 3rd C++
NHNNEXT 개경프14 Subway Rocket Team Study 3rd C++NHNNEXT 개경프14 Subway Rocket Team Study 3rd C++
NHNNEXT 개경프14 Subway Rocket Team Study 3rd C++
 
The C++ Programming Language 5장 포인터, 배열, 구조체
The C++ Programming Language 5장 포인터, 배열, 구조체The C++ Programming Language 5장 포인터, 배열, 구조체
The C++ Programming Language 5장 포인터, 배열, 구조체
 
ES6 for Node.js Study
ES6 for Node.js StudyES6 for Node.js Study
ES6 for Node.js Study
 
연산자 오버로딩
연산자 오버로딩연산자 오버로딩
연산자 오버로딩
 
모어 이펙티브 c++ 1,2장 스터디
모어 이펙티브 c++ 1,2장 스터디모어 이펙티브 c++ 1,2장 스터디
모어 이펙티브 c++ 1,2장 스터디
 
[아꿈사] The C++ Programming Language 11장 연산자 오버로딩
[아꿈사] The C++ Programming Language 11장 연산자 오버로딩[아꿈사] The C++ Programming Language 11장 연산자 오버로딩
[아꿈사] The C++ Programming Language 11장 연산자 오버로딩
 
C++ Advanced 강의 4주차
 C++ Advanced 강의 4주차 C++ Advanced 강의 4주차
C++ Advanced 강의 4주차
 
liftIO 2022 quasiquote
liftIO 2022 quasiquoteliftIO 2022 quasiquote
liftIO 2022 quasiquote
 
나에 첫번째 자바8 람다식 지앤선
나에 첫번째 자바8 람다식   지앤선나에 첫번째 자바8 람다식   지앤선
나에 첫번째 자바8 람다식 지앤선
 
2014-15 Intermediate C++ Study #7
2014-15 Intermediate C++ Study #72014-15 Intermediate C++ Study #7
2014-15 Intermediate C++ Study #7
 
Ec++ 3,4 summary
Ec++ 3,4 summaryEc++ 3,4 summary
Ec++ 3,4 summary
 
함수
함수함수
함수
 
Effective c++chapter4
Effective c++chapter4Effective c++chapter4
Effective c++chapter4
 
2014-15 Intermediate C++ Study #6
2014-15 Intermediate C++ Study #62014-15 Intermediate C++ Study #6
2014-15 Intermediate C++ Study #6
 
What’s new in c++11
What’s new in c++11What’s new in c++11
What’s new in c++11
 
이펙티브 C++ 스터디
이펙티브 C++ 스터디이펙티브 C++ 스터디
이펙티브 C++ 스터디
 
Effective c++ 1,2
Effective c++ 1,2Effective c++ 1,2
Effective c++ 1,2
 
About Visual C++ 10
About  Visual C++ 10About  Visual C++ 10
About Visual C++ 10
 
9 swift 클로저1
9 swift 클로저19 swift 클로저1
9 swift 클로저1
 

연산자 오버로딩

  • 2. http://blog.naver.com/ruvendix 연산자 오버로딩의 필요성 클래스의 접근 함수(액세스 함수)로 필드를 가져오려니까 귀찮다… 클래스도 기본 자료형처럼 연산자에 자유로울 수는 없을까? 그래! 클래스에 맞게 연산자를 오버로딩하자! 연산자도 함수처럼 호출되고 반환 형식이 있으니까!
  • 3. http://blog.naver.com/ruvendix 연산자와 이름 없는 임시 객체 연산자도 함수라서 호출되고 반환 형식이 있다! 하지만 반환 형식 때문에 이름 없는 임시 객체가 생성된다!
  • 4. http://blog.naver.com/ruvendix 오버로딩이 불가능한 연산자 위에 있는 것들 말고도 몇 가지 더 존재함! C++의 문법을 파괴할만한 연산자들은 오버로딩 불가! 각각의 연산자는 오버로딩 규칙이 존재함! 공통적으로 “operator 기호()” 형식을 따름!
  • 5. http://blog.naver.com/ruvendix + 연산자 오버로딩 class CTest { int iNum; const CTest operator +(int iAdd) { CTest Temp = iNum + iAdd; return Temp; } }; CTest CTest1, CTest2; CTest1 + CTest2; // 이게 가능함 +, -, *, /, %는 오버로딩 형식이 동일
  • 6. http://blog.naver.com/ruvendix 관계 연산자 오버로딩 class CTest { int iNum; bool CTest operator <(const CTest &rTest) { return (iNum < rTest.iNum); } }; CTest CTest1, CTest2; CTest1 < CTest2; // 이게 가능함 <, <=, >, >=, == , !=은 오버로딩 형식이 동일
  • 7. http://blog.naver.com/ruvendix 증감 연산자 오버로딩 class CTest { int iNum; CTest &operator ++(void) // 전위 증가 연산자 { iNum++; return *this; } CTest operator ++(int) // 후위 증가 연산자 { CTest Temp = *this; iNum++; return Temp; } }; 전위 증감과 후위 증감은 서로 다름!
  • 8. http://blog.naver.com/ruvendix 대입 연산자 오버로딩 class CTest { int iNum; CTest &operator =(const CTest &rTest) { if (this != &rTest) { iNum = rTest.iNum; } return *this; } }; 대입 연산자는 기본 대입 연산자가 있지만! 얕은 복사를 해결하려면 오버로딩해야 함! 대입 연산자는 메서드로만 오버로딩 가능! 복합 대입 연산자는 둘 다 가능!
  • 9. http://blog.naver.com/ruvendix 배열 첨자 연산자 오버로딩 class CTest { int NumList[10]; const int &operator [](const int iIndex) { return NumList[iIndex]; } }; CTest Test; Test[2]; 배열 첨자 연산자를 오버로딩하면 배열이 아닌데도 배열 첨자 연산자 사용 가능! 배열 첨자 연산자는 메서드로만 오버로딩 가능!
  • 10. http://blog.naver.com/ruvendix -> 연산자 오버로딩 class CPosition { void PrintPosition(void) const; }; class CTest { CPosition Pos; const CPosition *operator ->(void) const { return &Pos; } }; CTest Test; Test->PrintPosition(); -> 연산자를 이용하면 필드에 좀 더 편하게 접근할 수 있음! -> 연산자는 메서드로만 오버로딩 가능!
  • 11. http://blog.naver.com/ruvendix 함수 호출 연산자 오버로딩 class CTest { int iNum; const int operator ()(int iAdd) { return (iNum + iAdd); } }; CTest Test; Test(10); 함수 호출 연산자를 오버로딩하면 객체를 함수처럼 사용할 수 있음! 그래서 함수 객체(Functor)라고 함! () 연산자는 메서드로만 오버로딩 가능!
  • 12. http://blog.naver.com/ruvendix cout 오버로딩 class CTest { friend ostream &operator <<(ostream &rCout, const Ctest &rTest); int iNum; }; ostream &operator <<(ostream &rCout, const Ctest &rTest) { rCout << rTest.iNum << endl; return rCout; } CTest Test; cout << Test; // 이게 가능 cout은 오버로딩해서 사용하는 경우가 많음! cin을 오버로딩할 때는 istream을 이용해야 함! cout 연산자는 외부 함수로 오버로딩하는 게 편함!