我有以下类:列表转换类于母公司
class A
{
public:
A();
virtual void doSomething() const;
};
class B : public A
{
public:
B();
void doSomething() const;
};
然后,我有功能:
void putToList(const A &a)
{
a.doSomething(); // this one depends on what was set as argument A or B class (putToList(A()) or putToList(B()))
std::list<A> As;
As.push_back(a);
As.back().doSomething(); //this always calls doSomething from A
}
我的问题是,从列表中取whyafter,对象是和如何预防改变类型,如果我传递给函数的对象是B类,则使它成为B.
打哈欠哈欠切片 – 2013-04-03 22:58:43
@LightnessRacesinOrbit,太糟糕了我只有一个投票给予。 – 2013-04-04 00:56:47