网创优客建站品牌官网
为成都网站建设公司企业提供高品质网站建设
热线:028-86922220
成都专业网站建设公司

定制建站费用3500元

符合中小企业对网站设计、功能常规化式的企业展示型网站建设

成都品牌网站建设

品牌网站建设费用6000元

本套餐主要针对企业品牌型网站、中高端设计、前端互动体验...

成都商城网站建设

商城网站建设费用8000元

商城网站建设因基本功能的需求不同费用上面也有很大的差别...

成都微信网站建设

手机微信网站建站3000元

手机微信网站开发、微信官网、微信商城网站...

建站知识

当前位置:首页 > 建站知识

C++重载&指针&引用

   现在,比如我想写一个具有求和功能的函数。如果是想求整数的和,那么我就得这么写,

在荥经等地区,都构建了全面的区域性战略布局,加强发展的系统性、市场前瞻性、产品创新能力,以专注、极致的服务理念,为客户提供做网站、网站设计 网站设计制作定制制作,公司网站建设,企业网站建设,品牌网站制作,全网营销推广,外贸营销网站建设,荥经网站建设费用合理。

int add ( int a, int b ){
cout << " int + int " << endl;
return 1;
}

   这个函数可以求两个整数的和。那如果我想求三个整数的和,很明显我就得重写一个函数。如果是在C中,我想要再重写一个求和函数,函数名必然不能跟之前的函数名相同,否则会引起函数名相同的错误。为了解决这样一个问题,C++中引入了函数名重载这样的一个概念。什么是重载呢?函数名相同,函数的参数列表不同,(参数列表包括,参数的个数,参数的类型,参数的顺序)叫做函数的重载。比如,

参数个数不同

int add ( int a, int b ){
cout << " int + int " << endl;
return 1;
}
int add ( int a, int b, int c ){
cout << "int + int + int " << endl;
return 1;
}

参数类型不同

int add ( int a, int b ){
cout << "int + int " << endl;
return 1;
}
int add ( int a, double b ){
cout << "int + double " << endl;
return 1;
}

参数的顺序不同

int add ( int a, double b ){
cout << "int + double " << endl;
return 1;
}
int add ( double b, int a ){
cout << "double + int " << endl;
return 1;
}

那么能否根据函数的返回值类型来区分重载函数呢?答案是否定的。如果两个函数,函数名相同,参数列表相同,那么编译器就会不知道该去匹配哪一个函数,这样以来必定会造成分歧,所以,函数的返回值类型当然是不能区分重载函数的。

   指针。因为C语言中有指针,所以在C++中仍然保留了指针。比如,

int a = 1;
int* p = &a;
cout << "a = " << *p << endl;

   由于指针容易引起误用,用不好会带来一系列的程序安全隐患的问题,所以,C++中用引入了“引用”来取代指针。如何定义一个引用,

int& p;

   引用比指针安全的其中一个因素就是,引用必须初始化,这个指针不同,指针定义之后可以不用初始化,这就导致了容易造成内存泄露。所以,对引用的使用,

int a = 1;
int& b = a;

   这样以来,b就为a的一个别名。对b的操作,起始就是对a的操作。


网站栏目:C++重载&指针&引用
网页路径:http://bjjierui.cn/article/igspgj.html

其他资讯