Dev-C++为什么不能允许C++的头文件和CPP文件的分离?

rmryt 2005-09-13 05:09:40
一般C++中类的定义是在头文件,而类的实现应该是在Cpp文件中,但是Dev-C++好像不允许这样?

比如我在aaa.h中定义一个类,实现放在aaa.cpp中,使用Dev编译器时,必须#include"aaa.h"还要#include"aaa.cpp",然而在VC++里面只要#include"aaa.h"就行,难道Dev编译器不能自己去同目录下找到cpp文件吗?

有谁知道C++的最新标准在这个问题上是怎么规定的?
...全文
430 13 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
贵子潘 2005-09-14
  • 打赏
  • 举报
回复
不可能,肯定是你搞错了
我在VC和DEV C++都可以的
snowbirdfly 2005-09-14
  • 打赏
  • 举报
回复
是啊`~~
我在aaa.h中定义一个类,实现放在aaa.cpp中,使用Dev编译器时,必须#include"aaa.h"还要#include"aaa.cpp",然而在VC++里面只要#include"aaa.h"就行.
不用这样操作,使用Dev编译器时,必须#include"aaa.h"也可以啊~~要是必须还#include"aaa.cpp"那可能就是你建的文件不是工程文件~~~

djfu 2005-09-14
  • 打赏
  • 举报
回复
很简单的一个问题,楼主,你建立的不是工程,只要建立的是工程并且添加文件到工程以后就不会有这个问题。
xdop 2005-09-14
  • 打赏
  • 举报
回复
可以。

建议参考 sjf331(兄弟) 所说的理解
sjf331 2005-09-14
  • 打赏
  • 举报
回复
一个pe程序产生的过程:
1.编译器对所有的cpp文件编译,产生object
2.连接器把所有的object连接为exe
Jagen在路上 2005-09-14
  • 打赏
  • 举报
回复
找找自身的问题吧,那是不可能的,如果你用了模板技术的话,VC7也不可能通过。这是C++唯一定义与实现不能分离的地方了。
qiqi162002 2005-09-14
  • 打赏
  • 举报
回复
这里编译顺序的问题,放在工程里的话,.cpp的会帮你编译后连接。
你如果事先编译好.cpp只要INCLUDE他的头文件,连接器会在你事先编译的.o文件中连接。
我们用的库就是事先编译过的。如果你只是INCLUDE进来,就想当与COPY到你的文件中,原理不同,编译的速度也不同。
这方面 的可以看有关makefile的知识。
wvins 2005-09-14
  • 打赏
  • 举报
回复
虽然不了解你的意思。
不过我一直都是头文件与实现分离的阿
devcpp环境

不过我没建工程,而是直接新建的文本!
viewpl 2005-09-13
  • 打赏
  • 举报
回复
肯定楼主自己搞错了,一般类肯定能接口和实现分离,模板类的分离不支持,vc也不支持
foochow 2005-09-13
  • 打赏
  • 举报
回复
UP
bailingke 2005-09-13
  • 打赏
  • 举报
回复
你的问题很奇怪,不过我怀疑是你自己搞错了。我一直就是这样在用,没什么不妥。

请将问题再说清楚一些。
xiaocai0001 2005-09-13
  • 打赏
  • 举报
回复
有没有在Dev的工程中添加了对应的CPP文件,若添加了应该不会出现这样的问题,没有添加的话就会出问题.

VC也是同样的,不过VC在建类时,会自动将该类的.h与.cpp文件添加到工程中,所以不需要#include "*.cpp"
你若在工程中去掉.cpp文件,它也不会自动加入相应的.cpp文件的,只不过在编译时可能不会出错,但链接时会提示某某函数没有找到实现之类的错误
healer_kx 2005-09-13
  • 打赏
  • 举报
回复
不至于吧?? 未来的Java还要声明和实现分离呢,这可是趋势啊。

65,199

社区成员

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

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