https://www.devoops.kr/125?category=691976
----------------------------------------------------------------------------------------------------
http://egloos.zum.com/Agbird/v/634809
위의 내용대로 했는데 안되는데??... 일단 이 블로그가 정답임.
복사생성자의 경우 클래스의 타입과 정확하게 같아야 한다. 위에서 말한 일반화된 복사생성자의 경우 복사생성자가 아니다. 그냥 다른 생성자일 뿐임. 그리고 함수의 매개변수, return문 등의 임시객체 생성에서는 상황에 맞는 생성자가 실행되는 것이 아니라 무조건 복사생성자자 호출된다. 그래서 일반화된 생성자를 사용하고 싶을경우 복사생성자+새로운 템플릿을 선언한 만능 생성자이렇게 생성자 두 개를 오버로딩해서 만들 수 밖에 없을 둣. 매개변수, return문에는 무조건 복사생성자가 호출되지만 Matrx<int> a=Matrix<float>의 경우 적절한 생성자를 찾아서 호출해주기 때문에 오버로딩함으로써 어느정도 일반화된 복사생성자(복사생성자는 아니지만)의 의미를 구현할 수 있다.