抱歉标题不好...我有一个基类,例如:
template<class T>
class GPtr
{
public:
typedef T BaseType;
GPtr& operator=(const BaseType& rhs)
{
...
}
};
我经常想进行子类专业化,例如:
class GraphicPtr : public GPtr<Graphic>
{
...
};
但是,我的基类赋值运算符仍然GPtr<Graphic>
不返回GraphicPtr
,并且必须复制粘贴代码以防核心赋值运算符功能稍后更改,这很烦人。
有没有一种巧妙的方法来定义基类赋值运算符,以便它返回实际使用的类的类型?