C++中默认参数

1、函数原型中可能会声明参数默认值,默认值是在没有提供参数值时使用的一个值。

比如函数原型 long myFunction(int x=50);

该原型就指出了一个参数默认值50,原型中声明参数值与函数定义中没有影响,函数定义中还可以使用:

long myFunction(int x){函数定义};

如果调用函数myFunction()时没有给定实参,那么就使用默认值x=50

2、参数默认值的注意事项:如果某个参数没有默认值,那么它前面所有的参数都不得使用默认值。

比如 long myFunction(int param1,int param2,int param3);仅当给param3使用默认值后才能给param2默认值,当且仅当param3,param2都给定默认值后才能给param1默认值。(没有写错,默认值的给定顺序就是从右到左,因为规律:形参从右到左设定默认值,实参从左到右赋值给形参)

3、一道使用默认参数的实例(《21天学会C++》P846.7):编写一个求立方体体积的函数。

#include<iostream>
using namespace std;
//int AreaCube(int length,int width=25,int height=1);
int CubeVolume(int length,int width=25,int height=1);//注意,这里如果设置成
//int cubeVolume(int length=25,int width=1,int height)
//就会报错,因为形参中要从右到左设置默认参数
int main() { int length=100,width=25,height=10; int volume; volume=CubeVolume(length,width,height); cout<<"firt cube equals:"<<volume; volume=CubeVolume(length,width);//想使用哪个默认参数,直接调用函数时不调用这个参数就好了 cout<<"second cube equals:"<<volume; volume=CubeVolume(length); cout<<"third cube equals:"<<volume; system("PAUSE"); return 0; } int CubeVolume(int length,int width,int height) { return (length*width*height); }

 

posted @ 2015-07-16 20:01  小白龙victory  阅读(864)  评论(0编辑  收藏  举报