/*
*程序名称:CppFunction
*程序描述:C++函数测试
*编写时间:20121213
*/
#include <iostream>
using std::cout;
//定义函数:函数头和函数体
//函数头:返回类型 函数名(参数类型 参数名,...)
//函数体:{函数功能}
int tsum(int i,int j){
int rs = 0;
rs = i + 5 + j + 6;
return rs;
}
//重载:方法名称相同,参数列表不同
int tsum(int i,int j,int k){
int rs = 0;
rs = i + 5 + j + 6 + k;
return rs;
}
//函数原型:只申明不定义的函数,后面加分号。
int tsum(double i,double j);
//void方法可以没有return语句,或者只写retrun即可;
void tvoid(){
cout << "我是void方法!";
//return;
}
//函数在使用之前必需申明
//main方法要调用的方法必需在main方法之前进行申明
int main(){
//变元:调用函数时传递给函数的实际值,此处的1和2相当于tsum函数中的参数x和y,y,就是变元.
cout << tsum(1,2);
cout << "\n";
tvoid();
cout << "\n";
//int tsum(double i,double j)在main之前申明,在main之后定义
cout << tsum(1.0,2.0);
cout << "\n";
}
//定义函数
int tsum(double i,double j){
return i + j;
}
/*
*C++两种传送变元的机制:按值传送和按按引用传送
*1.按值传送:指定为变元的变量或者常量实际上根本不会传送给函数,
* 系统会创建变元的副本,再把副本传送给函数。
*2.按引用传送:引用只是另一个变量的别名,引用类型的变量存储对其它变量的引用,
* 指定引用变量类型时需要在顾类型名后面加上'&'.
*
*
*/
//按值传送
int change_value(int value){
return value *=10;
}
int change_value(int* pvalue){
return *pvalue *=10;
}
//按引用传送
int change_param(int& param){
return param += 10;
}
int main(){
int value = 8;
int* pvalue = &value;
cout << change_value(value); //80
cout << "\n";
cout << value; //8
cout << "\n";
//传送指针会改变变元的值
cout << change_value(pvalue); //80
cout << "\n";
cout << value; //80
cout << "\n";
//按引用传送
cout << change_param(value); //90
cout << "\n";
cout << value; //90
cout << "\n";
}