文件如何组织?(很简单的问题,希望专业人士解答)

heartgoon2010 2010-05-28 10:25:04
我有一个Test.cpp文件,其内容如下:
------------------------------------------
#include<iostream>
...(表示有很多#include)
using std::cout;
...(表示有很多using std::)
int main()
{
...
A(); //调用函数A()
...
}
A()
{
B(); //调用函数B()
C(); //调用函数C()
D(); //调用函数D()

}

B(); //定义函数B()
C(); //定义函数C()
D(); //定义函数D()

------------------------------------------
因为代码太多,所以我想把这些代码分成几部分,分别放在几个文件里,比如main()函数放在一个文件里,A()函数放在一个文件里,B()、C()、D()函数放在一个文件里,通过extern申明来进行调用。可是每个文件都需要一长串的#include和using std::。这样就显得有点重复了。
想请教一下专业人士,在专业编程的时候一般如何将大的程序文件分块组织,即用多个文件分装,以使得代码清晰明了,可读性强?
...全文
113 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
赵4老师 2010-05-28
  • 打赏
  • 举报
回复
一个好的代码编辑工具胜过十个好的文件组织方法。
赵4老师 2010-05-28
  • 打赏
  • 举报
回复
过犹不及
heartgoon2010 2010-05-28
  • 打赏
  • 举报
回复
to lylm
不好意思,第一个问题没说清楚,忘了两个字。我得意思是:
并不是所有的部分都用到了所有的include 和 using, 如果都#include "test.h",会不会显得有点冗余啊?
delphiwcdj 2010-05-28
  • 打赏
  • 举报
回复
我认为如果是通用的头文件可以将其统一放在一个头文件中,比如stdafx.h
lylm 2010-05-28
  • 打赏
  • 举报
回复
(1)并不是所有的部分都用到include 和 using, 如果都#include "test.h"会不会显得有点冗余啊?
不需要时就不用#include "test.h"了

(2)对大量的include 和 using,有没有什么好一点的简写方法?比如
#include<vector>
using std::vector;
using std::vector<string>;
专业编程时是否使用using?
using还是常用的,假如你using std::vector;using std::string。。。
那就用using namespace std;好了
heartgoon2010 2010-05-28
  • 打赏
  • 举报
回复
to vrace
(1)并不是所有的部分都用到include 和 using, 如果都#include "test.h"会不会显得有点冗余啊?
(2)对大量的include 和 using,有没有什么好一点的简写方法?比如
#include<vector>
using std::vector;
using std::vector<string>;
专业编程时是否使用using?


vrace 2010-05-28
  • 打赏
  • 举报
回复
先搞一个 test.h

#pragma once

// include 和 using 放这儿

然后每个cpp和.h里面 include 这个头文件就是了。
对每个你想拆出来的部分,搞个 .h 来声明函数, .cpp 来实现。
.h 这样写

#pragma once
#include "test.h"

// 这儿写你的函数定义啊,类啊啥的

.cpp 这样写

#include "test.h"
#include "xxxxx.h" // 上面那个 .h 文件

// 这儿实现你的函数,类啊之类的
aspireal 2010-05-28
  • 打赏
  • 举报
回复
学习了!
skyhb 2010-05-28
  • 打赏
  • 举报
回复
模块一般根据功能来分,各功能模块内部高能聚,功能模块之间低耦合。从模块到方法,尽量做到修改其一而不动全局,如果你写程序的时候发现,每当想修改一个地方的时候,许多地方都的跟着修改,那就是模块化做的不好。
差不多就这些意思吧
lylm 2010-05-28
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 heartgoon2010 的回复:]
to lylm
不好意思,第一个问题没说清楚,忘了两个字。我得意思是:
并不是所有的部分都用到了所有的include 和 using, 如果都#include "test.h",会不会显得有点冗余啊?
[/Quote]
如果大部分文件都公用test.h的话,只有个别有差异的话,这几个有差异的单独写include...
heartgoon2010 2010-05-28
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 zhao4zhong1 的回复:]
一个好的代码编辑工具胜过十个好的文件组织方法。
[/Quote]

能说具体点吗

64,654

社区成员

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

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