首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VC/MFC >

不能实例化抽象类,该如何解决

2012-10-11 
不能实例化抽象类ProgressBar *Prog1 new ProgressBar( &MyCtrl )提示这句错误承继的父类的虚函数都重

不能实例化抽象类
ProgressBar *Prog1 = new ProgressBar( &MyCtrl );
提示这句错误

承继的父类的虚函数都重写了,但是为什么都出现这个错误呢?
class Universal
{
public:
virtual void Move( CtrlInfo Info ) = 0;
virtual void Visual( bool visual ) = 0;
virtual void StickyInHierarchy() = 0;
CtrlInfo GetInfo() {return InfoSizeLoc;}
void SaveInfo( CtrlInfo Info ){InfoSizeLoc = Info;}

CtrlInfo InfoSizeLoc;

};

class ProgressBar : public Universal
{
void Move( CtrlInfo Info );
void Visual( bool visual );
void StichyInHierarchy();
}

[解决办法]
因为有参构造函数没有实现啊
[解决办法]
ProgressBar( Control *pCtrlClass );
~ProgressBar();

void AddProgress( CtrlInfo Info,TypeProg Prog = 0,Universal *CallBackClass = 0,BYTE Fid = 0,WORD ID = 0 );
void SetVal(float MaxVal = NULL,float Val = NULL);
void SetProgress( float Val );
float GetMaxVal();
float GetVal();
void Move( CtrlInfo Info );
void Visual( bool visual );
void StichyInHierarchy();

Control *pCtrlClass;//这个改下名字试试,
另外,ProgressBar *Prog1 = new ProgressBar( &MyCtrl );
MyCtrl 类型是否对(是不是Control类型),MyCtrl是否已建立成功了,单步执行就可以知道这个变量是否有效

热点排行