C++重载,指针和引用

来源:互联网 发布:qt5编程入门 编辑:程序博客网 时间:2024/06/11 21:21


1.     重载

所谓重载,就是函数名相同,参数列表顺序或类型不一样。

例子:

#include <iostream> using namespace std; int add(int a, int b){    cout<<"addint+int"<<endl;    returna+b;} int add(int a, int b, int c){    cout<<"addint+int+int"<<endl;    returna+b+c;} double add(double a, double b){    cout<<"adddouble+double"<<endl;    returna+b;} double add(int a, double b){    cout<<"addint+double"<<endl;    return(double)a+b;} double add(double b, int a){    cout<<"adddouble+int"<<endl;    return(double)a+b;} int main(int argc, char **argv){    add(1,2);    add(1,2, 3);    add(1.0,2.0);    add(1,2.0);    add(1.0,2);     return0;}

2.     指针和引用

指针是一个特殊的变量,他表示一个变量的存储地址。

引用可以理解为一个变量的别名,与变量本身意义相同,操作引用相当于操作变量本身。

#include <iostream> using namespace std; int add_one(int a){    a= a+1;    returna;} int add_one(int *a){    *a= *a + 1;    return*a;} int add_one_ref(int &b){    b= b+1;    returnb;} int main(int argc, char **argv){    inta = 99;        int &c = a;    cout<<add_one(a)<<endl;    cout<<"a= "<<a<<endl;     cout<<add_one(&a)<<endl;    cout<<"a= "<<a<<endl;     cout<<add_one_ref(a)<<endl;    cout<<"a= "<<a<<endl;         c++;           cout<<"a= "<<a<<endl;    cout<<"c= "<<c<<endl;     return0;} 

原创粉丝点击