C++中带默认值的函数
来源:互联网 发布:node.js入门视频教程 编辑:程序博客网 时间:2024/05/21 19:47
带默认值的函数
函数调用时,形参值是由实参数决定,形参实参必须相同。C++还提供一种
方法,为形参设置一个默认值,即形参不从实参取值。
1 函数的声明
默认值在函数声明中提供,但当有声明又有定义时,定义中不允许有默认值。
如果函数只有定义,则默认值可以出现在函数定义中。
#include <iostream>
using namespace std;
void point(int x,int y=0, int z=0)
{
cout<<"("<<x<<","<<y<<","<<z<<")"<<endl;
}
int main()
{
int x,y,z;
cout<<"X, Y,Z:"<<endl;
cin>>x>>y>>z;
point(x);
point(x,y);
point(x,y,z);
return 0;
}
2 带默认值的形参顺序规定
在函数中有多个默认参数,则形参从最右边依次向左设定。当调用函数时,只能向左匹配参数。
错误的表示:
void point(int=0,int, int=0);
void point(int=0,int=0,int);
调用时:
point(x): ok
point(x,y); ok
point(x,y,z); ok
point(); error
point(x, , z); error
3 默认参数与函数重载
使用带默认值的函数可以将一些简单的函数合并为一个函数。但是如果一个函数不能既作为重载函数,
又作为带默认值的函数。会出现二义性,系统无法执行。
例:point(int x,int y);
point(int x,int y=0, int z=0);
point(x,y);
4 默认值的限定
默认值:可以是全局变量,全局常量,也可以作为一个函数表达式。默认值不能是局部变量。
函数调用时,形参值是由实参数决定,形参实参必须相同。C++还提供一种
方法,为形参设置一个默认值,即形参不从实参取值。
1 函数的声明
默认值在函数声明中提供,但当有声明又有定义时,定义中不允许有默认值。
如果函数只有定义,则默认值可以出现在函数定义中。
#include <iostream>
using namespace std;
void point(int x,int y=0, int z=0)
{
cout<<"("<<x<<","<<y<<","<<z<<")"<<endl;
}
int main()
{
int x,y,z;
cout<<"X, Y,Z:"<<endl;
cin>>x>>y>>z;
point(x);
point(x,y);
point(x,y,z);
return 0;
}
2 带默认值的形参顺序规定
在函数中有多个默认参数,则形参从最右边依次向左设定。当调用函数时,只能向左匹配参数。
错误的表示:
void point(int=0,int, int=0);
void point(int=0,int=0,int);
调用时:
point(x): ok
point(x,y); ok
point(x,y,z); ok
point(); error
point(x, , z); error
3 默认参数与函数重载
使用带默认值的函数可以将一些简单的函数合并为一个函数。但是如果一个函数不能既作为重载函数,
又作为带默认值的函数。会出现二义性,系统无法执行。
例:point(int x,int y);
point(int x,int y=0, int z=0);
point(x,y);
4 默认值的限定
默认值:可以是全局变量,全局常量,也可以作为一个函数表达式。默认值不能是局部变量。
阅读全文
1 0
- C++中带默认值的函数
- C++中带默认值参数的函数
- C和C++__带默认值参数的函数说明
- C和C++__带默认值参数的函数说明
- C++带默认值的函数
- C与C++中使用带默认值的参数
- C++带参数默认值的函数
- 带默认值参数的函数说明
- c++带默认值参数的函数
- C基础--函数带默认值形参必须放在函数声明的最右侧
- 嵌入式 C和C++__带默认值参数的函数说明
- c++中函数的默认值和带默认参数的函数
- Swift中函数的默认值
- 函数的默认值+带默认参数的函数
- 函数的默认值与带默认参数的函数
- <C++>3.带有默认值的函数
- C++学习——带默认值参数的函数
- c++ 带默认值的构造函数 定义与实现分离
- 守望先锋--颜色参数
- Unity.JsonUtility序列化指南
- Android性能优化之:XML布局文件优化
- xpath 百度爬虫
- hdu 1394 Minimum Inversion Number(线段树)【归并排序模板】
- C++中带默认值的函数
- PANDAS 数据合并与重塑(concat篇)
- 金秋十月 我终于来到了魂牵梦萦的黄山
- 学习海思芯片平台
- git报错,提示不是内部或外部命令
- matlab 十进制小数转为二进制 (-1到1) 音频数据处理
- Python核心编程(第三版)课后习题解答——第四章
- leetcode[Delete Node in a Linked List]
- C++{}初始化——《C++程序设计语言第四版》