C++中构造函数默认参数学习笔记
2013-10-04 18:10
176 查看
C++中函数在定义时可以预先声明默认的形参值,调用时如果给出的实参则用实参初始化形参;如果没有给出实参,则采用预先声明的默认形参值。
在Java不能在构造方法中使用默认的参数,不知道C语言中能否使用,C++好像是很独特的一种使用方式
以下是一个简单的实例:
以上是三种形式测试的时候打开对应的注释就ok了。
注意:默认形参必须从右往左的顺序声明。在有默认值的形参的右面不能出现无默认值的形参。
例如
int add(int x,int y=5,int z=6);//正确
int add(int x=4,int y,int z=6);//错误的有默认形参的右面不能出现无默认值的形参
int add(int x=4,int y=5,int z);//错误的有默认形参的右面不能出现无默认值的形参
在Java不能在构造方法中使用默认的参数,不知道C语言中能否使用,C++好像是很独特的一种使用方式
以下是一个简单的实例:
#include <iostream> /* run this program using the console pauser or add your own getch, system("pause") or input loop */ using namespace std; //不用默认参数 //int add(int x,int y); //第一个参数使用默认值 int add(int x,int y=6); // 俩个参数都是用默认值 //int add(int x=6,int y=5); int main(int argc, char** argv) { //不用默认参数 // cout<<add(10,20)<<endl; //第一个参数使用默认值 cout<<add(10)<<endl; // 俩个参数都是用默认值 // cout<<add()<<endl; return 0; } int add(int x,int y) { return x+y; }
以上是三种形式测试的时候打开对应的注释就ok了。
注意:默认形参必须从右往左的顺序声明。在有默认值的形参的右面不能出现无默认值的形参。
例如
int add(int x,int y=5,int z=6);//正确
int add(int x=4,int y,int z=6);//错误的有默认形参的右面不能出现无默认值的形参
int add(int x=4,int y=5,int z);//错误的有默认形参的右面不能出现无默认值的形参
相关文章推荐
- 移植u-boot学习笔记9-----u-boot裁剪和修改默认参数
- Scala 学习笔记(五)------定义函数指定默认参数
- C++基础学习笔记----第三课(内联函数、默认参数、占位参数)
- Python学习笔记--《简明Python教程》之默认函数参数和关键参数函数
- C#.NET学习笔记---C#中方法参数的传递方式: 值类型(默认),ref类型,out类型和params类型
- MyBatis多参数传递之默认命名方式示例——MyBatis学习笔记之十二 推荐
- 学习Java 可变参数笔记
- PHP学习笔记——自定义函数中的参数;
- zigbee学习笔记---Channel、PANID、发射功率及其它参数
- tensorflow 学习笔记(九)- 参数初始化(initializer)
- [Python学习笔记-004] 可变参数*args和**kwargs
- 流畅的python学习笔记第八章:深拷贝,浅拷贝,可变参数
- Kotlin学习笔记--函数、函数表达式、默认参数、具名参数
- SpringMVC学习笔记(五):参数传递
- (原创)c#学习笔记06--函数01--定义和使用函数02--参数
- Dynamic CRM 2013学习笔记(二十六)报表设计:Reporting Service报表 动态参数、参数多选全选、动态列、动态显示行字体颜色
- Linux学习笔记:修改Tomcat默认的80端口指向8080端口
- StyleCop学习笔记——默认的规则
- Struts2_学习笔记(三)--------Action接收参数的四种方法
- C++学习笔记之默认实参