如何调用另一个cpp文件中的子函数

yilaozhuang 2009-02-17 04:19:32
我想在A.cpp文件中调用B.cpp文件中的一个子函数 int C(),在A.cpp中该怎么实现
A.cpp中
int main()
{
...
int C()
...
}
这个main函数中或者之前是不是得包含B.cpp,并声明int c(),具体应该怎么写,希望高手指点一下,谢谢

...全文
6768 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
xixiguohx 2012-05-29
  • 打赏
  • 举报
回复
还是在头文件里再包含好点吧
  • 打赏
  • 举报
回复
用extern int c()是正解。
帮我解决问题了,谢谢。
捕鲸叉 2009-02-18
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 huayehanshan 的回复:]
C/C++ code新建一个B.h,其中externintc()

在A.cpp中
#include"B.h"intmain
{
....
c();//直接使用....
}
[/Quote]
正解
Big鹏 2009-02-18
  • 打赏
  • 举报
回复

单做的话,直接放在一个工程里就可以了...不需要包含啊,头文件之类的.
但是,写程序是要讲求规范的,尤其是在真正的项目中,最重要的是在维护中.
所以,在头文件中声明是最好的做法.!!!
insulted 2009-02-18
  • 打赏
  • 举报
回复
还是听1,3楼的话,5楼之言言别人误导人,其言却在误导人。8楼可谓一针见血,拨乱反正了,呵呵!
叶落寒山 2009-02-18
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 yilaozhuang 的回复:]
太感谢楼上的各位了,程序实现可以通过不同的语句和方法实现,看到上面各位的回复还是受益匪浅,十分感谢。
不过还是
楼注注意 不要被误导 不需要include B 任何形式的文件 不管是.h 还是cpp 只要在a.cpp中声明了就行
可以试一下
a.cpp 和 b.cpp在一个工程中编译就ok 运行显示 ccccc
a 不需要incude b的任何东西,链接器会做

这个回答我最喜欢用,跟我感觉的差不多,就采用这个老大的办法了。
[/Quote]

这样用不安全,你搜一下CSDN以前的帖子,也有问这个的。
你的b.cpp中的函数少,只有一个函数。不会有什么问题。当
函数多了,之间也有调用关系时,你就知道了。有时候你都不
知道你错在哪了。
jakqigle 2009-02-17
  • 打赏
  • 举报
回复
在A.cpp中声明要调用的B.CPP中的函数,
extern int c();
yilaozhuang 2009-02-17
  • 打赏
  • 举报
回复
太感谢楼上的各位了,程序实现可以通过不同的语句和方法实现,看到上面各位的回复还是受益匪浅,十分感谢。
不过还是
楼注注意 不要被误导 不需要include B 任何形式的文件 不管是.h 还是cpp 只要在a.cpp中声明了就行
可以试一下
a.cpp 和 b.cpp在一个工程中编译就ok 运行显示 ccccc
a 不需要incude b的任何东西,链接器会做

这个回答我最喜欢用,跟我感觉的差不多,就采用这个老大的办法了。
Dinelgua 2009-02-17
  • 打赏
  • 举报
回复
楼注注意 不要被误导 不需要include B 任何形式的文件 不管是.h 还是cpp 只要在a.cpp中声明了就行
可以试一下
a.cpp 和 b.cpp在一个工程中编译就ok 运行显示 ccccc
a 不需要incude b的任何东西,链接器会做

a.cpp
int c(void);
void main(void)
{
c();
}

b.cpp
#include <iostream>
using namespace std;
int c(void)
{
cout << "ccccc\n";
return 1;
}
sea_sharka_17 2009-02-17
  • 打赏
  • 举报
回复
#include "*.cpp" #include "*.c" #include "*.h" 都可以
waizqfor 2009-02-17
  • 打赏
  • 举报
回复
[Quote=引用楼主 yilaozhuang 的帖子:]
我想在A.cpp文件中调用B.cpp文件中的一个子函数 int C(),在A.cpp中该怎么实现
A.cpp中
int main()
{
...
int C()
...
}
这个main函数中或者之前是不是得包含B.cpp,并声明int c(),具体应该怎么写,希望高手指点一下,谢谢
[/Quote]
首先那个B.cpp必须跟这个A.CPP在一个工程文件里
然后就是要把C()函数的声明写在一个头文件里 然后这个.h文件要被包含在c()函数的实现的.cpp文件中
最后直接包含.h文件进来调用就行了

#include <xxx.h>
int main()
{
...
C()
...
}

Dinelgua 2009-02-17
  • 打赏
  • 举报
回复
在A中声明一个c函数头就行,链接程序会自动找到B.obj中的c函数的

A.cpp
int c();声明
main()
{
}

B.cpp
int c()定义
{
}
叶落寒山 2009-02-17
  • 打赏
  • 举报
回复

新建一个B.h,其中
extern int c()

在A.cpp中
#include "B.h"
int main
{
....
c(); // 直接使用
....
}

65,211

社区成员

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

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