일단 제가 알기론 변환 생성자란 매게변수가 한 개인 생성자를 변환 생성자라고 부르고
형변환이 가능하다 이런식으로 이해하고 있습니당.
만약 예를 들어서
class Test
{
Test (int n) { }
}
int main()
{
Test T = 3;
}
이런 식으로 작성을 하면....
1. T와 3이 메모리에 저장이 돼고 컴파일러가 T와 3이 형식이 같은지 확인한다.
2. 3은 정수고 T는 Test 이므로 형식이 다름을 안 컴파일러는 다음을 수행한다.
3. 형변환 생성자를 이용해 먼저 Test형 임시객체를 만든 후, 3을 대입한다.
4. 최종적으로 T에 만든 임시객체를 대입한다.
질문 : 이런식으로 진행돼는게 맞나요? 맞다면.. 다음 소스를 보면