我怎么解决这个问题?我想执行适当的方法.有什么方法可以解决这个问题吗?我想在一个循环中执行方法.
class Base
{
public:
void something() {}
};
class Child : public Base
{
public:
void something() {}
};
class SecondChild : public Base
{
public:
void something() {}
};
std::vector<Base*> vbase;
Child * tmp = new Child();
vbase.push_back((Base*) tmp);
SecondChild * tmp2 = new SecondChild();
vbase.push_back((Base*) tmp);
for (std::vector<Base*>::iterator it = vbase.begin(); it != vbase.end(); it++)
{
//here's problem, I want to execute proper method "something", but only I can do is execute Base::something;
(*it)->something();
}
Run Code Online (Sandbox Code Playgroud)
当我有很多基类的孩子时,我不知道如何施放类型.
| 归档时间: |
|
| 查看次数: |
99 次 |
| 最近记录: |