我不完全确定如何用英语表达这个,但我想做这样的事情:
template <class T>
class derived: public T
{ blah };
基本上,我有一个模板类,但我从模板中指定的类派生一个新类?即,所以我不一定在编译时知道该类。
这甚至可能吗?
如果是这样,这个的语义是什么?
例如,假设我正在尝试编写一个“父”类。出于本示例的目的,假设它是一个树父级。树的父级是树本身(因此它继承自树),但也有一个对子树的引用向量。
但是,父类本身不一定是树;它可以是任何类,这样我就可以编写如下内容:
Parent<tree> treeParent;
Parent<shrub> shrubParent;