大家好,我是苏貝,本篇博客带大家了解C++的缺省参数,如果你觉得我写的还不错的话,可以给我一个赞👍吗,感谢❤️
目录
- 一. 输入&输出
- 二. 缺省参数
- 1 缺省参数概念
- 2 缺省参数分类
- a. 全缺省参数
- b. 半缺省参数
一. 输入&输出
新生婴儿会以自己独特的方式向这个崭新的世界打招呼,C++刚出来后,也算是一个新事物,那C++是否也应该向这个美好的世界来声问候呢?我们来看下C++是如何来实现问候的
#include<iostream>
using namespace std;
int main()
{
cout << "hello c++" << endl;
int i = 0;
std::cin >> i;
cout << i << endl;
return 0;
}
1:使用cout标准输出对象(控制台)和cin标准输入对象(键盘)时,必须包含< iostream >头文件以及按命名空间使用方法使用std。
2:std是C++标准库的命名空间名,C++将标准库的定义实现都放到这个命名空间中
3:cout和cin是全局的流对象,endl是特殊的C++符号,表示换行输出,他们都包含在包含< iostream >头文件中。
4:<<是流插入运算符,>>是流提取运算符
对<<和>>做出解释:
在C语言阶段,我们也见过这两个符号,它们分别代表左移和右移。
<<:
#include<iostream>
using namespace std;
int main()
{
//1.左移
int i = 1;
i <<= 1;
//2.流插入运算符
cout << i << endl;
return 0;
}
符号>>
#include<iostream>
using namespace std;
int main()
{
//1.右移
int i = 10;
i >>= 1;
cout << i << endl;
//2.流提取运算符
int j = 0;
cin >> j;
cout << "j=" << j << endl;
return 0;
}
使用C++输入输出更方便,不需要像printf/scanf输入输出时那样,需要手动控制格式。 C++的输入输出可以自动识别变量类型。
#include<iostream>
using namespace std;
int main()
{
//1.流插入
int i = 10;
char c = 'a';
const char* str = "hello world";
cout << i << c << str << endl;
//2.流插入
cin >> i >> c;
cout << i << c << str << endl;
return 0;
}
二. 缺省参数
1 缺省参数概念
缺省参数是声明或定义函数时为函数的参数指定一个缺省值。在调用该函数时,如果没有指定实 参则采用该形参的缺省值,否则使用指定的实参。
#include<iostream>
using namespace std;
void Fuc(int a = 0)
{
cout << a << endl;
}
int main()
{
Fuc(2);//传参时,使用实参
Fuc();//没有参数时,使用参数的默认值
return 0;
}
2 缺省参数分类
a. 全缺省参数
全缺省参数指函数的每个参数都设立了缺省值
#include<iostream>
using namespace std;
void Fuc(int a = 0, int b = 1, int c = 2)
{
cout << "a=" << a << endl;
cout << "b=" << b << endl;
cout << "c=" << c << endl << endl;
}
int main()
{
Fuc(4, 5, 6);
Fuc(4, 5);
Fuc(4);
Fuc();
return 0;
}
b. 半缺省参数
半缺省参数指函数的部分参数被设立了缺省值,且缺省值必须从右往左依次给,不能间隔着给
#include<iostream>
using namespace std;
void Fuc(int a , int b = 1, int c = 2)
{
cout << "a=" << a << endl;
cout << "b=" << b << endl;
cout << "c=" << c << endl << endl;
}
int main()
{
Fuc(4, 5, 6);
Fuc(4, 5);
Fuc(4);
return 0;
}
注意:
- 缺省参数不能在函数声明和定义中同时出现,因为如果声明和定义中都给了缺省值,但缺省值不同,那编译器就不知道该听谁的。如果要给,就是在声明的时候给
- 缺省值必须是常量或者全局变量
- C语言不支持缺省参数
好了,那么本篇博客就到此结束了,如果你觉得本篇博客对你有些帮助,可以给个大大的赞👍吗,感谢看到这里,我们下篇博客见❤️