【发布时间】:2010-10-30 13:35:47
【问题描述】:
我有两个类,障碍物和boid,boid继承自障碍物。
现在我想编写一些函数可以处理这两个类的对象,这样传递vector<boid> 的效果就和vector<obstacle> 一样好。
当我像这样进行类型转换并尝试访问向量的大小时,我得到的数字是 1840700394 而不是 60:
vector<boid>* boids; ....
cout << ((vector<obstacle>*)boids)->size() << endl;
我也尝试过“reinterpret_cast”但同样的问题。
【问题讨论】:
-
你为什么使用
std::vector<>指针?这对于您显示的这段代码没有意义,并表明您在 C++ 中缺少很多关于对象生命周期的信息。你可能需要a good C++ book。
标签: c++ inheritance casting