CPP学习之——函数的缺省参数(10.2)

一 概述

  • 重载函数使用方便,易于理解。默认参数的函数如不加标注的话很容易被忽略,而且容易被有参数的同名函数覆盖。

  • 具有默认参数的函数重载的是参数的数值,而重载函数重载的是参数的类型

二 示例及结果输出

2.1 代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#include<iostream>
using namespace std;
class A
{
private:
int w;
int h;
public:
void set(int = 30, int = 5);
void count(bool = false);
};
void A::set(int width, int height)
{
w = width;
h = height;
}
void A::count(bool val)
{
if (val == true) {cout << "val的值为真时:" << w * h << endl;}
else {cout << "val的值为假时:" << w * h / 2 << endl;}
}
int main()
{
A a;
a.set();
a.count();
a.count(true);
return 0;
}

2.2 输出结果

1
2
val的值为假时:75
val的值为真时:150

2.3 代码说明

  • void set(int = 30, int = 5);函数使用了默认参数,其中参数名字省略,直接赋值为整数值
  • void count(bool = false);函数也使用了默认参数,其中参数名字省略,直接赋值为布尔型值