//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;
}
};
我已经实现纯虚函数,但它仍然说我的派生类是一个抽象类。我不知道为什么。为什么我的派生类是一个抽象类? C++
你能告诉我们的编译错误?它通常说什么是错的。 – matsjoyce 2014-10-27 09:54:17
你有一个错字:'diplay'是不一样'display'。 – juanchopanza 2014-10-27 09:58:18
使用'override'关键字可能有助于排除错字。 – Jarod42 2014-10-27 10:08:21