次のコードを参照してください。最初の MyClass<> には 2 つの関数 (func1 と func2) があります。次に、func2 ではなく func1 の MyClass に対して特別なことをしたいと思います。func2 のコードをもう一度入力する必要があるようです。これを回避する方法があるかどうか疑問に思っていますか?ありがとう
#include <iostream>
using namespace std;
template <class T>
class MyClass {
public:
void func1(){
cout<<"default: func1"<<endl;
}
void func2(){
cout<<"default: func2"<<endl;
}
private:
T haha;
};
template <>
class MyClass<double> {
public:
void func1(){
cout<<"special: func1"<<endl;
}
};
int main()
{
MyClass<int> intclass;
intclass.func1();
intclass.func2();
MyClass<double> doubleclass;
doubleclass.func1();
doubleclass.func2(); // error 'class MyClass<double>' has no member named 'func2'
return 0;
}