社区
C++ 语言
帖子详情
为什么只能让类的声明和定义放在同一个文件中
Tomorrow0
2003-12-12 10:59:31
我把一个类的生命放在一个文件x.h中,而定义放在另一个文件x.cpp中
但是在main函数的文件编译是会出错,提示错误的OBJ文件啊什么乱七八糟一大堆
然后我只能把声明和定义都放在x.cpp里才正常……
...全文
145
30
打赏
收藏
为什么只能让类的声明和定义放在同一个文件中
我把一个类的生命放在一个文件x.h中,而定义放在另一个文件x.cpp中 但是在main函数的文件编译是会出错,提示错误的OBJ文件啊什么乱七八糟一大堆 然后我只能把声明和定义都放在x.cpp里才正常……
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用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)
C++
中
模板
定义
与
声明
为什么必须
放在
同一个
文件
中
本文详细解释了C++
中
编译链接过程,尤其是函数模板的
声明
与
定义
规则,强调了在处理模板时需将模板
声明
和
定义
放在
同一
文件
的重要性。
C++
中
的
类
——
类
的
定义
和
声明
本文介绍了面向对象编程的核心概念,包括
类
和对象的
定义
与使用。详细解释了如何
定义
类
及
类
中
的数据成员和成员函数,探讨了成员函数的不同
类
型如内联函数、常量成员函数等,以及如何在
类
中
定义
类
型成员。
模板函数的
声明
和
定义
为什么
放在
同一个
头
文件
?
文章解释了模板函数
声明
和
定义
为何应
放在
一起,以及分开处理时的链接问题。它强调了在头
文件
中
声明
模板并在.cpp
文件
中
显式实例化的重要性,以确保编译时链接的正确性。
头
文件
中
只能
声明
变量不能
定义
变量 而
声明
变量必须带extern,为什么头
文件
中
变量的
声明
都没有加
本文围绕C++头
文件
中
变量的
声明
与
定义
展开。头
文件
一般只放变量
声明
,避免多次
定义
,有三个例外情况。
定义
和
声明
不同,
定义
只能
一次,
声明
可多次。extern用于
声明
变量,加extern后可在其他引用处赋值。还介绍了全局变量、const变量的
声明
与使用规则,以及防止头
文件
重复引用的方法。
变量与
类
的
声明
和
定义
在头
文件
中
的使用
本文探讨了C++
中
变量的
声明
与
定义
的区别,以及在头
文件
中
使用
声明
的注意事项。
定义
为变量分配存储空间,而
声明
仅表明
类
型和名字。头
文件
中
不应
定义
全局变量,以避免重复
定义
导致的冲突。
类
的
声明
和
定义
则描述了对象的属性和行为,
类
定义
可以
放在
头
文件
中
,因为它不涉及实际内存分配。
C++ 语言
65,211
社区成员
250,514
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章