C++类对象创建的小问题

weixin_35731425 2016-09-16 09:08:08
类在创建对象的时候会自动调用构造器(或者默认构造器)


现在有一个简单的类:

class Test
{
Test();
~Test();
};
Test::Test()
{
cout<<"111"<<endl;
}
Test::~Test(){}

主函数测试:

int main()
{
Test t;
return 0;
}

疑问:为什么这两段代码放在一个文件夹的时候,编译能通过并输出111;
而当把他们分开放置 ,如:test.h :放类声明;
test.cpp:放类定义;
main.cpp 放主函数;
的 时候 ,会出现这样的 情况 :
debug\01Test.exe:-1: error: LNK1120: 2 个无法解析的外部命令
main.obj:-1: error: LNK2019: 无法解析的外部符号 "public: __thiscall Test::Test(void)" (??0Test@@QAE@XZ),该符号在函数 _main 中被引用
main.obj:-1: error: LNK2019: 无法解析的外部符号 "public: __thiscall Test::~Test(void)" (??1Test@@QAE@XZ),该符号在函数 _main 中被引用


求助求助~~我很鱼


...全文
269 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
小灸舞 2016-09-19
  • 打赏
  • 举报
回复
LNK2019错误属于链接错误. 一般都会给出类似“在函数‘function’中引用了无法解析的外部符号‘symbol’”的错误提示,大部分都是由于引用了未定义的外部变量或函数,或者引用方式与声明的不匹配造成的。
键盘指板 2016-09-19
  • 打赏
  • 举报
回复
分开放的话,mian文件中要包含test.h,在编译的时候,test.cpp 和main.cpp都要编译,放的时候要像2楼说的一样,另外,在包含头文件的时候要注意," " 和 <> 的区别,主要是包含文件的路径,多看看书吧
paschen 版主 2016-09-17
  • 打赏
  • 举报
回复
cpp文件要添加到项目,并且在main中包含h文件,就可以了
ri_aje 2016-09-16
  • 打赏
  • 举报
回复
两个 cpp 文件都得编译才行。
fefe82 2016-09-16
  • 打赏
  • 举报
回复
把 main.cpp 跟 test.cpp 放同一个工程里面去
yshuise 2016-09-16
  • 打赏
  • 举报
回复
class Test { public: Test(); ~Test(); };

64,654

社区成员

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

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