Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/133.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++;泛型类 我有一个关于C++中泛型类的简单问题。我有一些知识在C类列表中使用,但现在我尝试用C++实现一个,我有一个错误,我不知道我该怎么做才能工作。这不是一个家庭作业或我需要做的事情,而是我自己的研究_C++_Class - Fatal编程技术网

C++;泛型类 我有一个关于C++中泛型类的简单问题。我有一些知识在C类列表中使用,但现在我尝试用C++实现一个,我有一个错误,我不知道我该怎么做才能工作。这不是一个家庭作业或我需要做的事情,而是我自己的研究

C++;泛型类 我有一个关于C++中泛型类的简单问题。我有一些知识在C类列表中使用,但现在我尝试用C++实现一个,我有一个错误,我不知道我该怎么做才能工作。这不是一个家庭作业或我需要做的事情,而是我自己的研究,c++,class,C++,Class,代码: 你必须说: template <class A> void genericClass<A>::afisClasa() { cout << clasa; } // ^^^^ template void genericClass::afisClasa(){cout你必须说: template <class A> void genericClass<A>::afisClasa() { cout <

代码:

你必须说:

template <class A> void genericClass<A>::afisClasa() { cout << clasa; }
//                 ^^^^
template void genericClass::afisClasa(){cout你必须说:

template <class A> void genericClass<A>::afisClasa() { cout << clasa; }
//                 ^^^^

<代码>模板无效泛型类::AFISCLAASHAL(){CUT

。这是一个你可能想做模板特化的情况。C++允许你根据它的实例化类型来定制模板的行为。例如:

template <typename T> 
void PrintMyType(T& arg) {
  cout << "Unknown type" << endl;
}

template <>
void PrintMyType<int>(int& arg) {
  cout << "int" << endl;
}

template <>
void PrintMyType<float>(float& arg) {
  cout << "float" << endl;
}

PrintMyType(42);  // prints "int"
PrintMyType("hello"); // prints "Unknown type"
模板
无效PrintMyType(T&arg){

CUT

这是一个你可能想做模板特化的情况。C++允许你根据它的实例化类型来定制模板的行为。例如:

template <typename T> 
void PrintMyType(T& arg) {
  cout << "Unknown type" << endl;
}

template <>
void PrintMyType<int>(int& arg) {
  cout << "int" << endl;
}

template <>
void PrintMyType<float>(float& arg) {
  cout << "float" << endl;
}

PrintMyType(42);  // prints "int"
PrintMyType("hello"); // prints "Unknown type"
模板
无效PrintMyType(T&arg){

CUT也FIY,在C++中,这些东西被称为“类模板”,而不是“泛型类”。如果你想严肃对待C++,有很多关于模板的术语,它们是值得注意的。它们在C++中被称为模板,而不是泛型。而且不仅仅是它们有不同的名称,模板是根本不同的东西,即使它们可以用来实现表面上类似于什么的东西。使用C++的泛型。例如,使用<代码>检查类型的方法。如果((int)cEva= cEVA)根本不应该在模板中执行。@ BAMES53:谢谢!我只是想找到一些引用。“泛型类"如果你想严肃对待C++,有很多关于模板的术语,它们是值得注意的。它们在C++中被称为模板,而不是泛型。而且不仅仅是它们有不同的名称,模板是根本不同的东西,即使它们可以用来实现表面上类似于什么的东西。C#泛型用于。例如,您使用
if((int)ceva==ceva)
检查类型的方式与在模板中检查类型的方式完全不同。@bames53:谢谢!我只是想找到一些相关的参考。比如,和,也许。