또는 일반 부품을 실제로 사용하는 제품 만 있습니까? 이 예에서와 같이템플릿 클래스의 경우 일반 멤버가 아닌 함수가 중복 되나요?
:
template<class T>
class foo
{
public:
void addStuff(int x,T y)
{
ints_.push_back(x);
generics_.push_back(y);
}
void clear()
{
ints_.clear();
generics_.clear();
}
void setName(std::string name)
{
name_ = name;
}
std::string name_;
std::vector<int> ints_;
std::vector<T> generics_;
};
이외의 일반적인 기능은 전문성을 요구하는 것 .cpp 파일에 그들을 가하고 있기 때문에, 인라인입니다. Doe도 복제됩니까? 그냥 궁금해서 ...
정말로 원한다면 템플릿이 아닌 기본 클래스를 만들 수 있습니다. setName에 대해서는별로 중요하지 않지만 다른 상황에서는 더 유용 할 것입니다 : class HasName {public : void setName (const std :: string & name) {name_ = name; } std :: string name_; }; 템플릿 클래스 foo : 공용 HasName ...' –
Tim