为什么只能让类的声明和定义放在同一个文件中

Tomorrow0 2003-12-12 10:59:31
我把一个类的生命放在一个文件x.h中,而定义放在另一个文件x.cpp中
但是在main函数的文件编译是会出错,提示错误的OBJ文件啊什么乱七八糟一大堆
然后我只能把声明和定义都放在x.cpp里才正常……
...全文
43 30 打赏 收藏 举报
写回复
30 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
Tomorrow0 2003-12-14
还是会出错啊,构造函数的声明和定义放倒一个文件里就没问题,分开放就不行了
  • 打赏
  • 举报
回复
vcforever 2003-12-13
可能你的这个程序中的其他地方包含了这个头文件,导致重复的原因!
  • 打赏
  • 举报
回复
lijun2044 2003-12-13
我用vs.net成功了!
  • 打赏
  • 举报
回复
lijun2044 2003-12-13
用vs.net 把!
他对C++标准支持达到98%
  • 打赏
  • 举报
回复
newegg2002 2003-12-13
是啊,一共是三个文件,两个源文件,一个头文件的
  • 打赏
  • 举报
回复
newegg2002 2003-12-13
对了,我是在XP下运行的,编译器是visual c++ 6.0

你试试了还有错误吗?
真怪啊
  • 打赏
  • 举报
回复
Tomorrow0 2003-12-13
你是分开放在两个文件里吗
  • 打赏
  • 举报
回复
Tomorrow0 2003-12-13
什么没有包含?
  • 打赏
  • 举报
回复
newegg2002 2003-12-13
没有啊,我粘下来,运行了一次,没那事啊,只出现了两个错误啊,一个是Desk.cpp中少包含了一个#include <iostream.h>
还有就是一个可能是作者在
int a 后少打了一个分号而已,
运行结果也如果所料,
如下:
a10
a10
a10
a10
a10
Press any key to continue
  • 打赏
  • 举报
回复
newegg2002 2003-12-13
不会吧,我一向是这样做的.类声明作一个头文件,而实现作为一个.cpp文件,还从来没这样过, 不会是误包含了.cpp的文件啊,

随便猜,
  • 打赏
  • 举报
回复
sharkhuang 2003-12-13
呵呵!你没有包含啊!
  • 打赏
  • 举报
回复
Tomorrow0 2003-12-13
早上装了VC6结果也一样,在Compile时没问题,Builder时就出错
Linking...
Tdate_main.obj : error LNK2001: unresolved external symbol "public: __thiscall Tdate::Tdate(int,int,int)" (??0Tdate@@QAE@HHH@Z)
  • 打赏
  • 举报
回复
Tomorrow0 2003-12-13
为什么我用这两个命令行方式的编译器别的都没问题,只有构造函数会出现这样的问题?
  • 打赏
  • 举报
回复
Tomorrow0 2003-12-13
我另外试了几个程序,结果都一样啊。你们用的是什么编译器?
我用Borland C++BUILDER COMMAND LINE TOOLS 5.5和Digital Mars C/C++ Compilers都一样会出错,就是构造函数会这样,别的就没关系
  • 打赏
  • 举报
回复
zhanzhiyuan 2003-12-12
放在另一个头文件中行呀,你肯定是没有包含它的头文件了
  • 打赏
  • 举报
回复
Tomorrow0 2003-12-12
肯定包含了头文件了
  • 打赏
  • 举报
回复
yang2pipi 2003-12-12
是不是没包含头文件
  • 打赏
  • 举报
回复
cpsoft 2003-12-12
我的系统Windows XP+vc.net2003
  • 打赏
  • 举报
回复
cpsoft 2003-12-12
我这里可以通过,你把xxx.obj删了重新编译看看,也许你的设置有问题!
  • 打赏
  • 举报
回复
layman2008 2003-12-12
不会吧

贴出来,看看吧
  • 打赏
  • 举报
回复
加载更多回复
相关推荐
课程设计-基于C++的mfc框架的学生社团管理系统(源码+数据库+报告).zip 本系统实现的功能 本程序为单文档应用程序,主程序界面能实现查询社团信息、修改社团信息、删除社团信息、添加社团信息、入团、退团、用户登录、用户管理功能其修改社团信息、删除社团信息、添加社团信息用户管理需要用户登录后才能使用,未登录就点击使用的会会弹出对话框显示您还没有登录,点击登录按钮会弹出用户登录对话框输入正确的用户名称密码若验证成功则会显示登录成功并显示出您用有的权限高级管理员或者是普通管理员,高级管理员则可以对社团信息进行修改、删除、添加。点击入团按钮会弹出加入社团对话框,在对话框内填上相应的信息后点击确定成功加入后会有相关提示,若没有成功则有可能您输入的社团不存在,点击退团按钮弹出退出社团对话框,输入您要退出的社团名称学号点击确定如果成功退出会显示成功的标志,否则的话就是您没有假如该社团活着您填的信息不完全。在主程序对话框可以直接在控件内输入要修改的社团信息,然后点击修改按钮,分别输入控件的内容然后点击添加按钮,若要添加的社团当前没有的话则添加成功,否则会失败。登录了以后点击用户管理按钮则会弹出用户管理对话框,在该对话框内可以修改用户密码,高级管理员还能注册新用户。
发帖
C++ 语言
加入

6.1w+

社区成员

C++ 语言相关问题讨论,技术干货分享,前沿动态等
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
申请成为版主
帖子事件
创建了帖子
2003-12-12 10:59
社区公告
暂无公告