opa*_*tut 5 c++ inheritance templates casting implicit
我遇到了隐式转换,模板和模板类继承的问题.以下是我从项目中提取的内容,我遗漏了一些类甚至是抽象的,但它与案例没有关系.
class A {};
class B : public A {};
template <typename T> class Base {};
class Derived : public Base<B> {};
int main() {
Derived d;
Base<A>* base = new Derived();
}
Run Code Online (Sandbox Code Playgroud)
基本上,我有一个Base我派生的模板基类Derived : public Base<B>.然后我必须把它投射到Base的最常见的形式,即Base<A>.
我原本以为我可以从一个派生出来Base<B>的Base<A>隐式B派生对象A.我是不是做错了什么或者我怎么能投那含蓄?这很重要,因为我需要在Base作为参数的方法中接受所有类型的派生类.
提前致谢.
| 归档时间: |
|
| 查看次数: |
1561 次 |
| 最近记录: |