我有这些对象:
class A{
public:
void print();
}
class B : public A{
public:
void print();
}
class C : public A{
public:
void print();
}
功能打印:
void A::print(){
cout << "A" << endl;
}
void B::print(){
cout << "B" << endl;
}
void C::print(){
cout << "C" << endl;
}
现在我有一个A对象的向量,可以包含A B或C.
for(unsigned int i = 0; i<m_vA.size(); i++)
{
cout << m_vA[i]->print() << endl;
}
但每次函数返回A,即使这是一个B或C对象
谢谢您的帮助
解决方法:
您不会覆盖该功能.为此,请在A类中声明此函数时使用“virtual”关键字.