我有以下類:列表轉換類於母公司
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