0
템플릿 생성자가있는 템플릿 클래스가 있고 그 생성자가 있습니다. 하지만 int에 대한 복사 생성자를 전문으로하고 그것을 할 수 없습니다. 이 프로그램은 "CC"를 인쇄합니다. 하지만 필요 : "iC" 도와주세요. 당신의 complex<int> c3(c1)
경우처럼 (다른 complex<int>
에서 complex<int>
초기화) X == int
와템플릿 클래스 내의 템플릿 복사 생성자
#include <cstdio>
#include <cstdlib>
#include <iostream>
template<class X>
class complex
{
public:
complex() {}
template<class T> complex(const complex<T>& c) {std::cout << "2";}
template<class T> complex(const complex<T*>& c) {std::cout << "1"; }
complex(const complex<X>& c) {std::cout << "C";}
template<int> complex(const complex<int>& c){std::cout << "i";}
};
int main(int argc, char *argv[])
{
complex<int> c1;
complex<double> c2;
complex<int> c3(c1); //2
complex<double> c4(c2);
}
오늘은 전문화 된 새로운 수업을 추가 할 수있었습니다. '템플릿 착체 (착체 CONST 및 c) {표준 : COUT << "2";} \t 템플릿 복잡한 (const complex & c) {std :: cout << "1"; } \t complex (const complex & c) {std :: cout << "Base copy con"<< std :: endl;} }; 서식 <> 클래스 복잡한 { 공개 : \t 착체() {} \t 착체 (착체 CONST 및 c) {표준 : COUT << "I"} }' –
클래스 복잡한 { 공개 : \t 착체() {} \t 템플릿