21xrx.com
2024-12-27 22:10:29 Friday
登录
文章检索 我的文章 写文章
C++中的函数重载
2021-07-08 15:38:49 深夜i     --     --
C + +

函数重载意味着两个或多个函数可以具有相同的名称,但参数的数量或参数的数据类型必须不同。 在第一个示例中,我们创建了两个同名函数,一个用于添加两个整数,另一个用于添加两个浮点数。 在第二个程序中,我们创建了两个具有相同名称的函数,但传递了不同数量的参数。 函数重载也称为编译时多态。

函数重载C++程序

#include <iostream>


using namespace std;

/* Function arguments are of different data type */

int add(int, int);
float add(float, float);

int main()
{
  int a, b, x;
  float c, d, y;

  cout << "Enter two integers\n";
  cin >> a >> b;

  x = add(a, b);

  cout << "Sum of integers: " << x << endl;

  cout << "Enter two floating point numbers\n";
  cin >> c >> d;

  y = add(c, d);

  cout << "Sum of floats: " << y << endl;

  return 0;
}

int add(int x, int y)
{
  int sum;

  sum = x + y;

  return sum;
}

float add(float x, float y)
{
  float sum;

  sum = x + y;

  return sum;
}


我们为整数和浮点数据类型创建了两个函数“add”,您可以根据需要创建任意数量的同名函数。 只要确保编译器能够确定调用哪个。 在程序中,您可以为long、double等数据类型创建add函数。

在函数中,代码相同但数据类型不同,C++提供了解决这个问题的方法。 我们可以为不同的数据类型创建一个函数,这将通过使用称为模板的 C++ 功能来减少代码的大小。

C++函数重载程序

#include <iostream>


using namespace std;

/* Number of arguments are different */

void display(char []);  // print the string passed as argument
void display(char [], char []);

int main()
{
   char first[] = "C programming";
   char second[] = "C++ programming";
   
   display(first);
   display(first, second);
   
   return 0;
}

void display(char s[])
{
   cout << s << endl;
}

void display(char s[], char t[])
{
   cout << s << endl << t << endl;
}

程序输出:

C programming
C programming
C++ programming

函数返回类型没有作用,因为它在调用时返回一个值,并且在编译时编译器将无法决定调用哪个。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复