c++函数重载 c/c++混合编程

C++语言支持函数重载
实现原理: 名字改编(name mangling)
具体步骤: 当函数名称相同时,会根据
函数参数的类型、个数、顺序进行改编

对源码直接用C++编译器进行编译时,会按C++方式进行调用

对于C源码不希望按C++方式进行调用(不进行名字改编),
按C的方式进行调用


C的代码要放在C++中运行(C与C++混合编程)

#ifdef __cplusplus //该宏只会在C++的编译器中定义
extern "C"
{ //都会用C的方式进行调用
#endif

int add(int x, int y)
{
  return x + y;
}

#ifdef __cplusplus
}//end of extern "C"
#endif

int add(int x, int y, int z)
{
  return x + y + z;
}

double add(double x, double y)
{
  return x + y;
}

double add(int x, double y)
{
  return x + y;
}

double add(double x, int y)
{
  return x + y;
}

猜你喜欢

转载自www.cnblogs.com/Davirain/p/11769399.html