『21天精通C++』第一周学习笔记(二)

2014-11-24 13:16:37 · 作者: · 浏览: 21

引用传递是高效的安全的,可以在接收引用参数前加const,以防止函数无意间改变了引用参数。

在函数原型中可以声明缺省参数表,简化编程。函数不只可以声明一个缺省参数,可以按需要声明多个,还可以混合常规参数。但缺省参数必须在参数表中所有常规参数的后面。

defFun(int,flost,int=12,char=a);//标准的函数声明,可以不带参数变量名。带上变量名可以直接拷贝到函数的第一行,但函数的第一行不要求带缺省值。

在一个程序开始运行时传入的值称命令行参数。当敲入一个或多个命令参数给一个程序时,这些参数是通过两个变量来描述,一个是一个整型变量用于保存命令参数的个数,另一个是字符指针数组用于保存这些参数。每个数组元素指向一个参数。给个例子

main(int argc,*argv[])

argc和argv是标准名字,其中*agrv[]是一个指针数组,一个数组名是一个常数指针,所以argv是一个指向其它指针的指针。而argc保存的是实际的参数个数加1,第一个用于保存dos路径和文件名。

第七天:将功能类似,但要求参数有不同的类型和数目的函数重载。
为所有的重载函数说明原型。不要仅仅改变重载函数的返回值,只有不同的参数表才能把重载函数区分开。

用户给函数一个名字但VC在调用时会将此名字进行压延成另一个名字这样用来区分重载函数。
如果用户希望不压延函数调用,需要在程序的开头插入一个非压延函数清单。
extern "c" {
void cfun(int i,float x);
void cfun2(float x, float y);
}

重载运算符:operator...()//...表示所选择的运算符,除了?:条件操作符,::域运算符,*间接引用运算符,.成员运算符。

在自定义数据类型上实现内部运算,使用重载运算符。不能对内部数据类型定义重载运算,也不能改变运算符的优先级别。