【C/C++】函数的默认参数/函数的占位参数/函数重载/注意事项

  1. 函数的默认参数

    返回值类型 函数名(参数=默认值){}
#include <iostream>
using namespace std; int func(int a = 10, int b = 10)
{
return a + b;
} int main()
{
int a = func(20,30);
cout << a << endl;
system("pause");
}

没有用默认值,有的话用输入值。

注意:
1. 如果某个位置参数有默认值,那么从这个位置往后,从左往右,都必须要有默认值
2. 如果函数声明有默认值,函数实现的时候就不能有默认参数。
  1. 函数的占位参数
#include <iostream>
using namespace std; //占位参数
//返回值类型 函数名(数据类型){} <-没有变量名 //占位参数可以有默认参数
void func(int a, int = 10)
{
cout << "This is func" << endl;
} int main()
{
func(10);
system("pause");
}
  1. 函数重载

    函数重载满足条件:

    ·同一个作用域下

    ·函数名称相同

    ·函数【参数】的【类型不同】 或者 【个数不同】 或者 【顺序不同】
#include <iostream>
using namespace std; //函数重载
//可以让函数名相同,提高复用性 //函数重载的满足条件
//1.同一个作用域下
//2.函数名称相同
//3.函数【参数】【类型】不同,或者【个数】不同,或者【顺序】不同
void func()
{
cout << "This is func" << endl;
} void func(int a)
{
cout << "This is func22" << endl;
} void func(double b)
{
cout << "This is func33" << endl;
} int main()
{
func();
func(10);
func(2.0);
system("pause");
}
  1. 函数重载的注意事项
#include <iostream>
using namespace std; //函数重载的注意事项
//1、引用作为重载的条件
void fun(int& a) //int& a = 10;
{
cout << "aaa" << endl;
} void fun(const int& a) //const int& a = 10;
{
cout << "aaa22" << endl;
} //2、 函数重载碰到默认参数
void func2(int a, int b = 10;)
{
cout << "bbb" << endl;
} void func2(int a)
{
cout << "bbb" << endl;
} int main()
{
// int a = 10;
// fun(a);
fun(10);
//func2(10); //函数重载碰到默认参数,可以被调入两种,有二义性,编译错误
system("pause");
}
上一篇:centos6搭建gitlab


下一篇:【python】【转】python中isinstance判断变量类型用法