我编写了一个抽象类A
。
是否有可能创建一个虚函数value()
,它将返回“任何”,当我们创建派生类时,B
在此处实现函数value()
并从中返回任何内容?
这是一个示例和对我的意图的解释:
class A {
public virtual void value() = 0;
};
template < class T >
class B : public A {
private T content;
public T value() { return content; };
};
如您所见,我正在尝试创建一个通用容器,特别是在这种情况下可以使用它:
std::vector< A > container;
B< int > bint;
B< std::string > bstring;
B< zoo::monkey > bmonkey;
container.push_back( bint);
container.push_back( bstring );
container.push_back( bmonkey );
是否有解决方案或有其他更好的解决方案?
先感谢您。