class foo
{
public :
foo()
{
printf("foo 생성자 호출\n");
}
foo( const foo& _data )
{
printf("foo 복사 생성자 호출\n");
}
~foo()
{
printf("foo 소멸자 호출\n");
}
// 반환값, 파라메타에 &를 뺀다면?
const foo operator = ( const foo _data )
{
memcpy( a, _data.a, 100 );
return (*this);
}
int a[100];
};
int main()
{
foo a; // 생성자 호출
foo b; // 생성자 호출
a = b; // 복사 생성자 2번 호출
getchar();
return 0;
}