如果我有一个模板类
template<typename T>
class C {
public:
void method1() { ... }
void method2() { ... }
std::string method3(T &t) {
// ...
std::string s = t.SerializeToString();
// ...
return s;
}
// ...
};
Run Code Online (Sandbox Code Playgroud)
我想专门化它,T = std::string但只改变method3(T&)(保留所有其他方法),或者更好的是,只改变 method3 的那一部分,它T = std::string会简单地变成std::string s = t;,对当前代码的影响最小(减少方法签名的重复,减少子类化),我该怎么做呢?
编辑:我正在 C++11 中开发