1.函数参数传递方式
传值和传引用(传地址)
传递对象地址值是使用对象指针作为参数,传递地址时使用对象引用作为参数
2.对象作为函数参数
对象作为函数参数,将实参对象的值传递给形参对象,传递时单向的,形参拥有实参的备份,当在函数中改变形参的值,改变的是这个备份中的值,不会影响原来实参的值
3.对象指针作为函数参数
将指针对象的指针作为函数参数,形参是对象指针(指针可以指向对象的地址),实参是对象的地址值。因为形参传递的就是实参本身,当在函数中改变形参的值时,改变的就是原来实参的值。
4.引用作为函数参数
实参对象和 形参对象代表同一个对象,所以改变形参对象的值就是改变实参对象的值
5.默认参数
默认参数是在函数原型中说明的,默认参数可以多于一个,但必须放在参数序列的后部
如果一个默认参数需要指定一个特定值,则在其之前的所有参数都必须赋值
6.使用const保护数据
用const修饰传递参数,意思是通知函数,它只能使用参数而无权修改它
7.函数返回值
引用、指针、对象都可以作为函数的返回值
8.内联函数
inlineint isnumber(char c)
具有循环语句、switch语句的函数不能说明为内联函数,其他函数都可以说明为内联函数
内联函数适合:语句简单、语句较少、执行速度要求高
内联函数必须在程序中第一次调用此函数的语句出现之前定义
9.函数重载
函数重载可使一个函数名具有多种功能,这种特性为多态性
重载函数:参数类型不同或者参数个数不同
动态联编需要虚函数支持,在程序运行中进行
静态联编在程序被编译时进行的
10.函数模板
函数模板的实例化由编译器实现
函数模板形式如下:
template<class T>
Typemax(T m1,Tm2)
使用显示规则和关键字typename:
template<typename T>//使用typename替代class