【发布时间】:2014-10-27 09:53:11
【问题描述】:
//abstract product
class AbstractProduct
{
public:
virtual void diplay(void) = 0;
};
//concrete product
class Histogram : public AbstractProduct
{
public:
Histogram()
{
cout << "default construct a Histogram!" << endl;
}
void display(void)
{
cout << "Display Histogram!" << endl;
}
};
//factury class
class Factury
{
public:
static AbstractProduct* getProduct(string type)
{
AbstractProduct* absP;
if(type=="Histogram")
{
Histogram his;// error, Variable type "Histogram" is an abstract class
}
return absP;
}
};
我已经实现了纯虚函数,但它仍然说我的派生类是一个抽象类。我不知道为什么。
【问题讨论】:
-
你能告诉我们编译错误吗?它通常说明出了什么问题。
-
你打错了:
diplay和display不一样。 -
使用
override关键字可能有助于找出错字。