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

Tomorrow0 2003-12-12 10:59:31
我把一个类的生命放在一个文件x.h中,而定义放在另一个文件x.cpp中
但是在main函数的文件编译是会出错,提示错误的OBJ文件啊什么乱七八糟一大堆
然后我只能把声明和定义都放在x.cpp里才正常……
...全文
79 30 打赏 收藏 转发到动态 举报
写回复
用AI写文章
30 条回复
切换为时间正序
请发表友善的回复…
发表回复
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
  • 打赏
  • 举报
回复
不会吧

贴出来,看看吧
加载更多回复(10)

64,646

社区成员

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

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