第一个注意事项:引用作为重载条件

#include<iostream>
using namespace std;


//函数重载注意事项一:引用作为重载条件
void func(int &a) {

cout << "func(int &a) 输出" << endl;

}
void func(const int &a) {
cout << "func(const int &a) 输出" << endl;
}




int main() {

//当输入的值为变量的时候,重载会选择func(int &a)
int a = 10;
func(a);
//当输入的变量前加上const的时候,该变量就是常量了,重载会选择func(const int &a)
const int b = 20;
func(b);

system("pause");
return 0;
}

输出结果:

func(int &a) 输出
func(const int &a) 输出
请按任意键继续. . .

第二个注意事项:函数重载碰到函数默认参数

重载中两个注意事项 C++初学笔记_3d

#include<iostream>
using namespace std;


//函数重载注意事项二:函数重载碰到函数默认参数
//默认参数为int b = 20
void func(int a,int b=20) {

cout << "func(int &a,int b=20) 输出" << endl;
cout << "a=" <<a<<", b = " <<b<<endl;

}
void func(int a) {
cout << "func(int a) 输出" << endl;
}




int main() {


int a = 10;
//有默认参数的时候,编译器就不知道该如何选择函数了,因此会报错
//func(a);
func(a,100);

system("pause");
return 0;
}

输出结果如下:

func(int &a,int b=20) 输出
a=10, b = 100
请按任意键继续. . .



自己创建的两个群,一个是做3D方面的(包括算法图像处理,以及三维模型生成等),另一个是代码编程群,两个群都是为了交流技术的,禁止发广告。

重载中两个注意事项 C++初学笔记_ios_02重载中两个注意事项 C++初学笔记_ios_03