请教:如何动态的传递一个继承关系的对象给一个类?
请教:
有一组继承关系的类,例如:
class Base
{
int a;
};
class A : public Base
{
double c;
};
class B : public Base
{
char d[20];
};
另有一类中包含了一个继承关系类组的基类的指针
class C
{
public:
LoadBase(const Base& b);
private:
Base base;
}
我希望从外部传入A的对象或B的对象,并保存在C的对象中.好象这里必须在Base中放一个标识符来识别传入的是什么对象.或者用RTTI(传说中影响效率的东东).有没有好的办法可以直接从外部传入对象后,能自动分配相应的内存保存对应的信息?
[解决办法]
Base 弄一个申请分配的函数虚拟接口,负责管理对象分配就可以了.
Base* Base::create() const
{
return new Base(); //重载改成 new A, new B就行了.
}