#include<iostream>
using namespace std;
//函数的重载:允许多个函数同名,函数同名,参数列表不同就不会发生冲突。
/*
函数重载的条件:
1.在同一个作用域, 成员函数是在类中,不是全局函数。
2.函数名称相同
3.函数的参数类型、个数、顺序不同
4.不能靠返回值来重载函数,C++中禁止这样做。
*/
int fun(int a)
{
cout << "fun(int a)的调用" << endl;
return a;
}
int fun()
{
cout << "fun 无参数的调用" << endl;
return 10;
}
int func(int a, int b)
{
return a + b;
}
//可以默认赋值
int funb(int c = 10, int d = 10)//默认形参的语法。
{
return c * d;
}
//占位参数,只写一个类型进行占位,调用的时候必须传入占位值。
//目的:以后可以修改函数定义,而不用修改所有函数调用。
int funa(int a, int b, int)// 没有名字,但调用时,必须为占位符提供一个值。
{
return a + b;
}
void add_test(int x, int y)
{
func(x, y);
funb(x, y);
funa(1,2,3);
cout << fun(1) << endl;
cout << fun() << endl;
cout << "x= " << x << endl;
cout << "y= " << y << endl;
cout << "x+y= "<<func(x, y) << endl;
cout << "x*y= "<<funb(x, y) << endl;
cout << "x= " << 20 << endl;
cout << "x*y= "<<funb(20, y) << endl;//改变不用默认值。
cout << funa << endl;
}
int main()
{
add_test(10, 10);
return EXIT_SUCCESS;
}
函数的重载
最新推荐文章于 2022-03-02 21:02:40 发布