【含有默认参数的函数】面向对象程序设计上机练习三(有默认参数的函数)

Think:
1、学习理解:
(1):若在定义时而不是在声明时置默认值,那么函数定义一定要在函数的调用之前
(2):不能将实际值传递给引用类型的参数。可以将变量作引用类型参数的默认值,这时变量必须是已经声明且是全局变量。
(3):若给某一参数设置了默认值,那么在参数表中其后所有的参数都必须也设置默认值,否则,由于函数调用时可不列出已设置默认值的参数,编译器无法判断在调用时是否有参数遗漏。
(4):在调用时,若给已经设置默认值的参数传递实际值,既要取代默认值,则在参数表中被取代参数的左边所定义的所有参数,无论是否有默认值,都必须传递实际参数。
(5):声明时置默认参数,定义时不必置默认参数
参考博客1链接
参考博客2链接

SDUT:面向对象程序设计上机练习三(有默认参数的函数)
Time Limit: 1000MS Memory Limit: 65536KB
Submit Statistic

Problem Description
利用默认参数的函数实现求2个或3个整数的最大值。

Input
输入3个int型整数。

Output
输出第1、2个整数及其最大值;
输出第1、2、3个整数及其最大值。

Example Input
88 66 99

Example Output
88 66 88
88 66 99 99

Hint

Author
zlh

以下为Accepted代码

#include 

using namespace std;

const int inf = 0x3f3f3f3f;

void Max_pri(int a, int b, int c = -inf);

int main(){
    int a, b, c;
    while(cin >> a >> b >> c){
        cout << a << ' ' << b << ' ';
        Max_pri(a, b);
        cout << a << ' ' << b << ' ' << c << ' ';
        Max_pri(a, b, c);
    }
    return 0;
}
void Max_pri(int a, int b, int c/* = -inf*/){
    int t = a;
    if(t < b) t = b;
    if(t < c) t = c;
    cout << t << endl;
}

你可能感兴趣的:(知识体系,C++学习,含有默认参数的函数)