码迷,mamicode.com
首页 > 编程语言 > 详细

C++默认参数

时间:2018-04-19 23:53:09      阅读:223      评论:0      收藏:0      [点我收藏+]

标签:desc   man   ret   形参   立方体   har   pac   系统   vol   

#include <iostream>
#include <iomanip>
#include <windows.h>
#include <stdio.h>
#include <time.h>


using namespace std;


void weatherCast(string weather="pm2.5")  //含有默认参数的函数
{
    time_t t=time(0);
    char tmp[64];
    strftime( tmp, sizeof(tmp), "%Y/%m/%d %X %A ",localtime(&t) );
    cout<<tmp<<"today is weather "<<weather<<endl;


}

int main()
{
    cout<<"hello word"<<endl;
    weatherCast("sunshine");
    weatherCast();


    return 0;
}

多个参数时:

#include <iostream>
#include <iomanip>
#include <windows.h>
#include <stdio.h>
#include <time.h>


using namespace std;
/*
*Function:
*Description:求立方体的体积
*Input:
*Output:
*Return:
*Others:C++默认参数从右向左默认,中间不能跳跃
        实参的个数+默认参数的个数必须大于等于形参的个数
*/
int volume(int l,int w=3,int h=5)
{
    return l*w*h;
}

int main()
{
    cout<<volume(1)<<endl;
    return 0;
}

特殊情况

#include <iostream>
#include <iomanip>
#include <windows.h>
#include <stdio.h>
#include <time.h>


using namespace std;

//一个函数,不能既作重载,又作默认参数的函数。当你少写一个参数时,系统无法确认是重载还是默认参数
void print(int a)
{
    printf("void print(int a)");
}
void print(int a,int b=10)
{
    printf("void print(int a,int b=10)");
}

int main()
{
    print(10);
    return 0;
}

  这时编译器就会报错

 

C++默认参数

标签:desc   man   ret   形参   立方体   har   pac   系统   vol   

原文地址:https://www.cnblogs.com/Manual-Linux/p/8886547.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!