Jan*_*Jan 1 c++ inheritance casting
我有两个类,障碍和boid,boid继承自障碍.
现在我想编写一些可以处理这两个类的对象的函数,这样传递vector<boid>就可以了vector<obstacle>.
当我像这样进行类型转换并尝试访问向量的大小时,我得到的数字是1840700394而不是60:
vector<boid>* boids; ....
cout << ((vector<obstacle>*)boids)->size() << endl;
Run Code Online (Sandbox Code Playgroud)
我也试过"reinterpret_cast"但同样的问题.
C++模板不像C#和Java泛型.模板实例化是一个完整的类,并且不以任何方式与其他模板实例化相关.一个人不能在他们之间施展.
(旁注:如果您使用的static_cast话,它会抓住这个......)