链接时报出父类有有关问题,是为什么

链接时报出父类有问题,是为什么?
现象如下:
g++ -O0 -I../include device.cpp input.cpp msg.cpp nav_view.cpp view.cpp main.cpp -o main -lpthread
/tmp/ccLKWMbM.o:在函数‘view::view()’中:
nav_view.cpp:(.text._ZN4viewC2Ev[_ZN4viewC5Ev]+0x8):对‘vtable for view’未定义的引用
/tmp/ccLKWMbM.o:(.rodata._ZTI8nav_view[_ZTI8nav_view]+0x8):对‘typeinfo for view’未定义的引用
collect2: 错误: ld 返回 1
make: *** [all] 错误 1


nav_view.cpp是view.cpp的子类,view.cpp中没有任何方法,只有一句#include <view.h>
view.h内容如下:
using namespace std;
class view{

public:
        int top;
        int left;
        int right;
        int bottom;
        bool enable;

        virtual int key_down_proc(enum SYSTEM_MSG m);
        virtual int show();
        virtual int hide();

};

nav_view中重写了这几个虚拟方法,请问那儿有问题呢????????????????????????

------解决方案--------------------
引用:
父类没有定义构造函数和析构函数,只定义了几个虚拟方法。父类的cpp中什么都没写,只包含了一下.h文件。

父类的cpp中至少需要实现以下几个函数:
virtual int key_down_proc(enum SYSTEM_MSG m);
        virtual int show();
        virtual int hide();