这种函数我该怎么调用?void getClass(AbstractClass &p);
AbstractClass为一个抽象类,这个抽象类派生了若干个实例类。
getClass函数为一个工厂方法,根据不同情况返回一个实例对象。
示例代码下:
class AbstractClass
{
public:
void virtual fun() = 0;
};
class B : public AbstractClass
{
public:
void fun()
{
printf("B");
}
};
class C : public AbstractClass
{
public:
void fun()
{
printf("C");
}
};
B b;
C c;
void getClass(AbstractClass &p)
{
int i = rand();
if(i>10)
a = b;
else
a = c;
}
问题是我该如何调用这个函数呢?
(我是在调用Snmp++库中的int Vb::get_value(SnmpSyntax &val) const函数遇到的这个问题,SnmpSyntax为一个抽象类)