hur.cn - 华软网

 热门搜索

运行时程序崩溃了?

  作者:未知    来源:网络    更新时间:2011/4/18
我想实现基类的虚函数,编译能通过可是运行时候为什么溃散了?
代码以下:
#include <iostream.h>
#include <stdlib.h>
class Test
{
public:
Test();
virtual void testp();
private:
};
class Test2:public Test
{
public:
Test2();
};
void Test::testp()
{
cout<<6<<endl;
}
int main()
{
Test* a=NULL;
a->testp();
Test2* b=NULL;
b->testp();
return 0;
}
请高手指点。
---华软 网友回答---
Test* a=NULL;
a->testp();
Test2* b=NULL;
b->testp();

----------------
囧,指针没有分配内存空间~溃散是正常的~
---华软网友回复---
帮助改一下吧
---华软网友回复---
Test* a=new Text;
---华软网友回复---
楼上的改法我尝试过了,报错
test.obj : error LNK2001: unresolved external symbol "public: __thiscall Test::Test(void)" (??0Test@@QAE@XZ)
Debug/testvirtual.exe : fatal error LNK1120: 1 unresolved externals
---华软网友回复---
Test* a=new Test;
a->testp();
Test2* b=new Test2;
b->testp();

delete a;
delete b;
return 0;

---华软网友回复---
引用 3 楼 ouyh12345 的回复:
Test* a=new Text;

Test* a=new Test;
---华软网友回复---
引用 4 楼 wsyzcn 的回复:
楼上的改法我尝试过了,报错
test.obj : error LNK2001: unresolved external symbol "public: __thiscall Test::Test(void)" (??0Test@@QAE@XZ)
Debug/testvirtual.exe : fatal error LNK1120: 1 unresolved externals


需要实现这个函数
---华软网友回复---
照旧报那个毛病,链接时。
test.obj : error LNK2001: unresolved external symbol "public: __thiscall Test::Test(void)" (??0Test@@QAE@XZ)
Debug/testvirtual.exe : fatal error LNK1120: 1 unresolved externals
---华软网友回复---
构造函数一定要实现?没理由啊
---华软网友回复---
引用 9 楼 wsyzcn 的回复:
构造函数一定要实现?没理由啊


没有实际的代码,然则也要 
Test::Test(void ) 
{}
---华软网友回复---
谢谢楼上啊
---华软网友回复---
C++">
#include <iostream.h>
#include <stdlib.h>
class Test
{
public:
Test()
{}
virtual void testp();
private:
};
class Test2:public Test
{
public:
Test2()
{}
};
void Test::testp()
{
cout<<6<<endl;
}
int main()
{
Test* a=new Test;
a->testp();
Test2* b=new Test2;
b->testp();

delete a;
delete b;
return 0;

}

---华软网友回复---
引用 9 楼 wsyzcn 的回复:
构造函数一定要实现?没理由啊


默许的构造函数要有,即使你在函数里面什么也做      
华软声明:本内容来自网络,如有侵犯您版权请来信指出,本站立即删除。