C++默认参数值函数

1.默认参数值的函数

  C++语言允许在定义函数时给其中或某些形式参数(形参)指定默认值,方法就是在相应的形参后面写上“=默认值”,如果省略了对应位置上的实参的值,则在执行被调函数时以该形参的默认值进行运算。

本人自学,教材可能有点老,有问题的话求大家指正!!!谢谢!!!

2.默认参数值函数注意事项

  • 默认函数一般在函数声明中设置。如果程序中既有函数声明又有函数定义,则定义函数时不允许再定义参数的默认值;如果程序中只有函数定义而没有函数声明,则默认参数才可以出现在函数定义中;
  • 默认参数的顺序。如果一个函数中有多个默认参数,则参数分布中默认参数应从右至左逐个定义。也就是说,如果你要给默认值的这个形参右边还有没有给默认值的形参,那么,这样定义是错误的。如:
void func( int a=1, float b, long c=20 );    //错误
void func( int a, float b=2, long c=30 );    //正确

例题:定义、测试重载函数。

#include<iostream>
using namespace std;

int sum(int i,int j=10);    //有函数声明
int sum(int i,int j)
{
    return i+j;
}

void print(int i, int j, int sum=0)     //无函数声明
{
    cout << "i:" << i << endl;
    cout << "j:" << j << endl;
    cout << "sum:" << sum << endl;
}

int main()
{
    int a=3;
    int b=7;
    cout << "sum(a):" << sum(a) << endl;
    cout << "sum(a,b):" << sum(a,b) << endl;
    cout << "print(a,b):" << endl;
    print(a,b);
    cout << "print(a,b,sum(a,b)):" << endl;
    print(a,b,sum(a,b));
    return 0;
}

//菜鸟,求大家批评指教,代码编写习惯和规范等等!!!谢谢!!!

本人自学,教材可能有点老,有问题的话求大家指正!!!谢谢!!!

时间: 2024-10-26 06:25:58

C++默认参数值函数的相关文章

函数的默认参数值

给函数设置默认参数值有以下方法: 在javascript中如何为函数设置默认参数值,下面提供几种方法供大家参考.第一种方法: function example(a,b){   var a = arguments[0] ? arguments[0] : 1;//设置参数a的默认值为1    var b = arguments[1] ? arguments[1] : 2;//设置参数b的默认值为2    return a+b; } 注意以上函数也可写作如下: function example(){

C++——带默认参数值的函数

函数在声明时可以预先给出默认的形参值,调用时如给出实参,则采用实参值,否则采用预先给出的默认参数值. int add(int x = 5,int y = 6) { return x + y;} int main() { add(10,20);//10+20 add(10);//10+6 add();//5 + 6 } 默认参数值的说明次序 有默认参数的形参必须在形参列表的最后,也就是说默认参数值的右面不能有无默认值的参数,因为调用时实参与形参的结合是从左到右的顺序. int add(int x,

C语言默认参数值的实现

from http://blog.csdn.net/pipisorry/article/details/25437893 C语言中没有参数默认值的概念,可以利用宏来模拟参数默认值: (对于有多个参数的函数,调用时需要将参数列表中的每个 " , "写出来,不过这样就可以把默认参数放在非默认参数之前) 以下代码在c下是不能通过的: 定义fun(): int fun(int a, int b = 10)                         ...                 

为javascript设置默认参数值

javascript(js)中如何为函数设置默认参数值,下面提供几种方法供参考. 第一种方法: function example(a,b){ var a = arguments[0] ? arguments[0] : 1;//设置参数a的默认值为1 var b = arguments[1] ? arguments[1] : 2;//设置参数b的默认值为2 return a+b; } 注意以上函数也可写作如下: function example(){ var a = arguments[0] ?

&lt;C++&gt; 函数默认参数 函数重载 引用

一.函数默认参数 1.缺省参数:就是在声明函数的某个参数的时候 给他一个默认值 1 #include<iostream> 2 using namespace std; 3 4 void Show(int a = 1,int b = 2,int c = 3) 5 { 6 cout << a << endl; 7 cout << b << endl; 8 cout << c << endl; 9 } 10 11 int mai

Python 默认参数值

Python 默认参数值,对于一些函数来说,你可能为希望使一些参数可选并使用默认的值,以避免用户不想为他们提供值的情况.默认参数值可以有效帮助解决这一情况.你可以通过在函数定义时附加一个赋值运算符(=)来为参数指定默认参数值. 要注意到,默认参数值应该是常数.更确切地说,默认参数值应该是不可变的——这将在Python教程后面的章节中予以更详细的解释.就目前来说,只要记住就行了. 案例(保存为 function_default.py): def say(message, times=1): pri

(继承及其访问限定符)&&(派生类及其默认成员函数)&&(赋值兼容规则)

◆继承: ★继承概念 继承(inheritance)机制是面向对象程序设计使代码可以复用的最重要的手段,它允许程序员在保持原有类特性的基础上进行扩展,增加功能.这样产生新的类,称派生类.继承呈现了面向对象程序设计的层次结构,体现了由简单到复杂的认知过程. 继承定义格式 ★继承关系&访问限定符 class Base { public: Base() { cout<<"B()" <<endl; } ~Base () { cout<<"~

C++中的默认成员函数

一般而言,对于一个用户自定义的类类型,以下四个函数在用户没有自定义的情形下,会由编译器自动生成: 1.default constructor 2.copy constructor Someclass::Someclass(const Someclass &); 3.copy assignment operator Someclass & Someclass::operator=(const Someclass &); 4.destructor 对于C++11,又增加了两个: 5.m

(继承及其访问限定符)&amp;&amp;(派生类及其默认成员函数)&amp;&amp;(赋值兼容规则)

◆继承: ★继承概念 继承(inheritance)机制是面向对象程序设计使代码可以复用的最重要的手段,它允许程序员在保持原有类特性的基础上进行扩展,增加功能.这样产生新的类,称派生类.继承呈现了面向对象程序设计的层次结构,体现了由简单到复杂的认知过程. 继承定义格式 ★继承关系&访问限定符 class Base { public: Base() { cout<<"B()" <<endl; } ~Base () { cout<<"~