【发布时间】:2017-04-29 23:04:57
【问题描述】:
假设我有一个基类如下:
template <typename T>
class Base {
// implementation
void do_something() { /* ... */ } ;
};
然后,我如下创建一个Derived 类,并覆盖do_something() 方法:
template <typename T>
class Derived : public Base<T> {
// implementation
void do_something() { /* ... */ } ;
};
我知道虚拟化在类模板中不起作用,我只是隐藏了方法的实现。但我确实想将一堆派生类和基类存储到一个向量中,(我不想使用类型擦除或多态),
我的问题是,鉴于Derived 类到基类的static_cast 给了我基类的do_something,有什么方法可以将它们存储为基类,而每个都有@987654328 的实现@类?
【问题讨论】:
标签: c++ c++11 class-template