我有一堂课:
template<typename T>
class Foo
{
public:
...
Foo& operator=(const Foo&) { ... }
};
而且我想专门Foo<std::string>
添加一个Foo<std::string>::operator=(const char*)
重载并重用其余的Foo<T>
实现。专业化是否有可能Foo<std::string>
利用非专业化实现,或者我必须将Foo<T>
实现移动到一个单独的基类中,Foo<T>
而Foo<std::string>
专业化从该基类派生?