C++에서 복사생성자를 사용할때 주의 사항
 * 묵시적 변환
 만약,
class example{
private:
public:
  example(){}
};
void main()
{
  example a;
  example b=a;
}

라는 코드가 있을 때
example b=a;
라는 코드는
묵시적으로 example b(a);
라는 코드로 묵시적으로 변환.

(참고 이를 막기 위해 explicit라는 키워드가 존재. 묵시적 변환을 막으려면, 복사 생성자 함수 앞에 explicit를 넣어주면, 묵시적으로 변환하지 않음.)

=> 형식

class example{
private:
public:
  example(){}
  example(const example &a){}
};

요롷게 선언을 해주면 됨.
함수 오버로딩에 따라 클래스를 복사할경우, 클래스 하나를 다시 생성해줌.

'Programming > C/C++' 카테고리의 다른 글

무식하게 소수 판별 하는 방법  (0) 2013.07.29

+ Recent posts