- 1.重载 指针 引用
- 1.1 重载
- 1.2 指针与引用
函数名都是一样的,但是参数是不一样的,调用同一个函数名的函数。
#includeusing namespace std; int add(int a, int b) { cout<<"add int+int"< cout<<"add int+int+int"< cout<<"add double+double"< cout<<"add int+double"< cout<<"add double+int"< add(1, 2); add(1, 2, 3); add(1.0, 2.0); add(1, 2.0); add(1.0, 2); return 0; }
当我执行
add(1, 2); add(1, 2, 3); add(1.0, 2.0); add(1, 2.0); add(1.0, 2);
1.2 指针与引用的时候,传入的参数是int,int,那么我的编译器是选择第一个函数,还是第二个函数。所以只能通过参数的不一样去重载函数,不能通过函数返回值的不一样去重载函数
#includeusing namespace std; int add_one(int a) { a = a+1; return a; } int add_one(int *a)//指针 { *a = *a + 1; return *a; } int add_one_ref(int &b)//引用 { b = b+1; return b; } int main(int argc, char **argv) { int a = 99; int &c = a; cout< 第一幅图,正常使用函数以及调用指针两者的区别。
第二,第三幅图是指引用的效果。b被a引用以后,b也就指向了a。
注意: 引用是如下所示,
int &b=a;赋值的时候是变量,不能够是常数。
int &b=1;//这个是错的



