在定义一个指向类的指针后,在使用该指针时,往往会有问题,这是为什么?
请看下面程序:
#include "iostream.h"
class CShape
{
public:
void SetColor(int color)
{
m_nColor=color;
}
void virtual Display(void)
{
cout<<"CShape"<<endl;
}
private:
int m_nColor;
};
class CRectangle:public CShape
{
public:
void virtual Display(void)
{
cout<<"CRectangle";
}
};
class CSquare:public CRectangle
{
public:
void virtual Display(void)
{
cout<<"CSquare";
}
};
class CTriangle:public CShape
{
public:
void virtual Display(void)
{
cout<<"CTriangle";
}
};
class CEllipse:public CShape
{
void virtual Display(void)
{
cout<<"CEllipse";
}
};
void main(void)
{
CShape obShape;
CRectangle obRectangle;
CSquare obSquare;
CEllipse obEllipse;
CShape *pShape[4]={&obShape,&obRectangle,&obSquare,&obEllipse};
for(int i=0;i<4;i++)
pShape.Display();
}
:\MSDev98\MyProjects\lt1_5\lt1_5.cpp(55) : error C2228: left of '.Display' must have class/struct/union type
Error executing cl.exe.lt1_5.exe - 1 error(s), 0 warning(s)
誰能帮忙解答