现在的位置: 首页 > 综合 > 正文

C++:文件间函数的调用

2013年01月09日 ⁄ 综合 ⁄ 共 511字 ⁄ 字号 评论关闭

问题:A.cpp 中有fun_A(), B.cpp中如何调用fun_A()

环境:Win7, VC++ 2010

unavailable solution: 
A.cpp 声明且定义fun_A(); 
B.cpp 中包含A.cpp (include"A.cpp")

调用失败!


solution 1: 

A.cpp 声明且定义fun_A(); 

B.cpp 中写“extern [type] fun_A();”即可调用fun_A()

solution 2:

A.h 声明fun_A();

A.cpp 定义fun_A(); 

B.cpp 中包含A.h (include"A.h"),即可调用fun_A()

solution 3:
A.h 声明且定义fun_A(); 
B.cpp 中包含A.h (include"A.h"),即可调用fun_A()

总结:

solution 2较优,A.h只声明函数,会显得比较简洁。而且调用时只需要包含此A.h文件,比较简单。

solution 1在需要调用多个函数时,在B.cpp中要给这些函数声明为全局变量(extern),破坏简洁。

solution 3会使A.h看起来很繁杂。

总之,建议用solution 2,调用方式简单,函数的声明跟定义分开管理也很简洁,方便代码维护。

抱歉!评论已关闭.