1
3
正如斯蒂芬在他的评论中指出的,您使用的是简单的多态性。当您在容器内部存储不同的对象时,您只能使用在中定义的接口。
根据你实际想要达到的目标,你可以考虑使用其他的解决方案,比如
|
2
1
我想是个适配器 pattern 在不使用T继承的情况下实现。
您可以使用短模板函数代替这个类。或者可以使用返回模板类的模板函数。模板函数可以自动猜测所需类型-因此您可以省略<gt;并减少键入。 |
3
1
很好。 您正在利用编译器的能力来生成派生类的模板化系列,实际上可以混合纯派生类是很酷的。 (自己写的) 使用模板专用的派生类和编译器生成的派生类 (作为模板实例化的结果生成)。
这可能是有用的,但它不会以某种方式扩展
多态性
期限,因为你仍然局限于
另外,您可以编写一个普通的工厂,它有一些生成子类的模板化方法,并使用它来避免编写
|
TCD · 标准库非类型模板类是否显式实例化? 2 年前 |
sovesti · 参数较少的模板函数中的演绎 2 年前 |
KiraHoneybee · 具有构造函数参数的模板化类 2 年前 |
Seymore Glass · 模板不工作的默认参数 2 年前 |
Alexander Daum · 模板参数中对模板类型的引用 6 年前 |
ledonter · 为什么注入的类名有时不被视为类模板中的模板名? 6 年前 |