日期:1.30
现象:相同函数名可以有很多个。
原因:重载函数虽然看似名称相同,但是函数编译后的实际名称是不同的。
特点:常常发生于构造函数(因为创建的对象可能有很多初值的设定)
假如函数有默认值,很可能不能重载(可以重载,必须使得具体情况下只有一个函数满足被调用的条件)
Const
位置:小括号后,花括号前
例如:
double real()const{return re;}
Class里面的函数可分为会改变数据的和不会改变数据(例如将数据打印出来)的两种。
不会改变数据内容的函数一定要加入“const”。假如函数不会改变数据,同时使用者写了“const”,而程序中没有“const”会发生矛盾。
Pass by value
将整个传过去,即数据有几个字节就传几个字节,也因此最好不要用这种方法
Pass by reference(有一个“&”的符号)
类似于传指针,在c++中叫“传引用”。速度一般比pass by value 快,所以写程序时可以细化考虑
对于特殊的情况,例如传一个字符,pass by value 更快。
不希望传递的数据被改变,要加“const”
Return by value
Return by reference(如果可以的话,尽量使用)
具体内容与参数的传递类似
原文:https://www.cnblogs.com/lkdj/p/12254061.html