[C++][중급] 변환 연산자와 변환 생성자, explicit 생성자


[C++][중급] 변환 연산자와 변환 생성자, explicit 생성자

이번에는 객체의 변환에 대한 다양한 문법과 기법에 대해 알아볼께요. 1. 변환 연산자란? 2. 변환 생성자란? 3. explicit 생성자란? 변환 연산자란? 변환 연산자는 객체가 다른 타입으로 변환될 때 호출되는 함수 입니다. 변환 연산자를 알아보기 위해 예제를 하나 만들어 봤습니다. int를 대체하는 클래스 입니다. #include <iostream> class INT32 { int value; public: Int32() : value(0) {} }; int main() { int pn; //primitive type Int32 un; // user type pn = un; } Int32는 사용자 정의 type 이므로 생성자를 만들었고, 0으로 초기화 됩니다. int pn; 처럼 사용 시 초기에 쓰레기 값이 들어가니까 보다 안전하게 사용할 수 있습니다. 만약 pn = un; 이라고 하면 user type 을 primitive type으로 대입하라는 의미인데, 서로 타입이 다르기...


#explicit생성자 #변환 #변환생성자 #변환연산자 #복사초기화 #직접초기화

원문링크 : [C++][중급] 변환 연산자와 변환 생성자, explicit 생성자