336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.
SoSimple sim2 = sim1;위의 문장은 다음의 형태로 묵시적 변환이 일어나서 복사 생성자가 호출이 된다.
SoSimple sim2(sim1);결국, 복사 생성작의 묵시적 호출이 된 것으로 볼 수 있는데. 위와 같은 유형의 변환이 마음에 들지 않는다면
explicit 키워드를 이용하여 묵시적 호출을 허용 안하게 할 수 있다.
explicit SoSimple (const SoSimple& cpoy) { }
이렇게 explicit을 명시하게 되면 더 이상 묵시적 변환이 발생하지 않아서 대입 연산자를 이용한 객체의 생성 및 초기화는 불가능 하게 된다.
결국 아래와 같은 호출은 불가능 하다.
SoSImple s1; SoSImple s2 = s1; // SoSImple s2(s1); 이런식으로 객체를 생성 및 초기화 해야함
'ⓟrogramming > C++' 카테고리의 다른 글
부분전문화(partial specialization) template (0) | 2016.05.10 |
---|---|
Inserting object to C++11 vector without copy constructor (0) | 2015.08.29 |
비쥬얼 스튜디오 단축키 (0) | 2014.10.27 |
인라인(Inline) 함수 (0) | 2011.02.21 |
C++ 에서의 헤더 파일의 선언 (0) | 2011.02.21 |