C/C++ 中的 extern关键词等问题 请大家多多帮忙!
在C/C++中如果一个源文件中要使用另一个源文件中的函数或数据我们只需在该源文件中使用extern关键词便可使用,但是如果是以下的情况该如何解决。
比如:有inti.cpp a.cpp b.cpp c.cpp等多个源文件,a.cpp b.cpp c.cpp......源文件中都有一个函数 void show(),函数的名字 以及参数都完全一样。现在我想在init.cpp 这个源文件中调用指定的另一个源文件中的show()函数(例如调用a.cpp中的show()函数)这时我该如何实现。
或者说C/C++不支持这种(应该不会)。
*注:大家也可以以C的方式给我答复
谢谢!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(11)
namespace 例子如下
能给我个范例代码
请问能给个代码范例吗?
把相关内容拿出来瞧一瞧就明白了
把所有a.cpp b.cpp c.cpp里的同名函数都加上static,限制一下只在本文件可见。
定义一个函数指针,指向你想要的函数(例如a.cpp里的), Init.cpp里就用这个函数指针得了。
a.cpp b.cpp c.cpp......源文件中都有一个函数 void show(),函数的名字 以及参数都完全一样。
直接编译失败
请问如何使用namespace,能给我点代码范例吗? 自己学的不是太好,但又很想解决这个问题。
使用namespace吧
假如说我要调用的show()函数是在C源文件中的,C++是可以直接使用C源代码的,而C是没有class类型 的那么又该怎么办。
c可以用结构体内定义函数指针实现多态
c++ 多态。 定义一个包含show的虚类,然后在每个cpp文件中定义子类来继承它并实现show函数,使用时定义虚类指针指向具体类对象,调用show即可