通过抽象类指针实例化派生类的问题(g++)

Scorpiour 2012-04-26 09:24:52
最近遇到一个问题:

当我试图通过抽象类指针来实例化派生类的时候,linker总是会报错。


#include <iostream>
#include <string>

using namespace std;

void displayInfo(void);

typedef class MEDIA
{
protected:
int Id;
string Title;
int Year;
public:
MEDIA()
{
Id=0;
Title="";
Year=0;
}
virtual ~MEDIA(){}
virtual bool ChangeID(int)=0;
virtual void Print(ostream&)=0;
}*pMEDIA;

class DVD:public MEDIA
{
protected:
string Director;
public:
DVD()
{
Director="";
}
virtual ~DVD(){}
bool ChangeID(int newId)
{
Id=newId;
return true;
}
void Print(ostream&);
};


int main()
{
pMEDIA newMedia=NULL;
newMedia=new DVD; //这里出现问题

return 0;
}


编译提示为:
test.cpp:(.text+0x16a): undefined reference to `vtable for DVD'
collect2: ld returned 1 exit status


无法理解到底是什么问题所以求助………………
...全文
167 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
漫步者、 2012-04-26
  • 打赏
  • 举报
回复
纯虚函数木有被实现,你懂的,我接分来了,给我吧,哈哈
Scorpiour 2012-04-26
  • 打赏
  • 举报
回复
啊对不起各位…………

发现自己犯了个2B错误………………主动认错…………>.<

64,685

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧