Array|C++之重载函数学习( 三 )
2、c中如何调用c++函数:
这里我把main.cpp的内容改成:
文章图片
文章图片
编译输出:
文章图片
文章图片
add.c文件内容改成:
文章图片
文章图片
输出结果:
文章图片
文章图片
3、如何保证一段c代码只会以c的方式被编译?
解决方法如下:
__cplusplus是c++编译器内置的标准宏定义
__cplusplus的意义 , 确保c代码以统一的c方式被编译成目标文件
文章图片
文章图片
这里把main.cpp改成:
文章图片
文章图片
输出结果:
文章图片
文章图片
4、注意事项
C++编译器不能以c的方式编译重载函数
编译方式决定函数名被编译后的目标名
c++编译方式将函数名和参数列表编译成目标名 , 这里举个例子main.cpp:
文章图片
文章图片
编译输出:
文章图片
文章图片
说明ii表示两个参数 , iii表示三个参数
c编译方式只将函数名作为目标名进行编译 , 这里还是以main.cpp为例:
文章图片
文章图片
输出结果:
文章图片
文章图片
目标名起冲突所以报错 。
5、小结:
函数重载是c++对c的一个重要升级
函数重载通过参数列表区分不同的同名函数
extern关键字能够实现c和c++的相互调用
编译方式决定符号表中的函数名的最终目标名
推荐阅读
- 中年|C/C++编程笔记:从数据处理的角度,浅析大学课程—数据结构
- 技术编程|内存安全亟待解决!Chrome 团队正探索 Rust 与 C++ 的互操作性
- 中年|C/C++编程笔记:最强IDE和它的天才第一步!稳步学编程
- 中年|C/C++编程笔记:同样是数据类型,链表对比数组?哪个更香?
- 中年|C/C++编程笔记:快速排序的思路与优化改进
- Array|臭氧层正在愈合,并对大气环流造成重大影响
- Array|瞄准“宅经济”!VR看房成年轻人租房新趋势
- Array|Spanlite公司使用3D打印一次高速烧结8,000个零件
- Array|面面俱到的绝佳体验 优质国产旗舰手机推荐
- Array|消息称爱奇艺或在港二次上市,回应称不予置评
