C++程序设计——命名空间、输入&输出、缺省参数

目录

一、命名空间

1.命名空间定义

2.命名空间的使用

 二、输入&输出

 三、缺省参数

1.缺省参数概念

 2.缺省参数分类

2.1全缺省参数

2.2半缺省参数


一、命名空间

在C/C++中,变量和类都是大量存在的,这些变量、函数和类的名称将都存在于全局作用域中,可能会导致很多的冲突。

使用命名空间的目的就是对标识符的名称进行本地化,以避免命名冲突或名字污染,namespace关键字的出现就是为了解决这种问题。

1.命名空间定义

定义命名空间需要使用到namespace关键字后面跟命名空间的名字,然后接一对{}即可,{}中即为命名空间的成员。

---命名空间中的内容,既可以定义变量,也可以定义函数。

---命名空间可以嵌套

 ---同一个工程中,允许存在多个相同名称的命名空间,编译器最后会将这些命名空间合成同一个命名空间。

 注:不能存在名字相同的成员。

比如将第二个N2中的变量cur名字改为a,编译器就会报错重定义。

 注:一个命名空间就定义了一个新的作用域,命名空间中的所有内容都局限于该命名空间中。

2.命名空间的使用

当我们定义了命名空间后,有三种方式来使用命名空间中的内容。

1.加命名空间名称和作用域限定符‘::’

 2.使用using将命名空间中的成员引入

 注:因为此时的num相当于全局变量,如果我们再在全局中定义一个变量num,那么编译器将报错重定义。

3.使用using namespace命名空间名称引入

 二、输入&输出

1.C++输出Hello world!。

 2.标准输入输出

C++的标准输出为cout,标准输入为cin,在使用时,必须先包含<iostream>头文件以及std标准命名空间

 相比于C语言,C++输入输出更加方便,不需要增加数据格式控制,比如:整形---%d,字符型---%c等

例:

 三、缺省参数

1.缺省参数概念

缺省参数是声明或定义函数时,为函数的参数指定一个默认值。在调用该函数时,如果没有指定实参则采用该默认值,否则使用指定的实参。

 2.缺省参数分类

2.1全缺省参数

即所有参数都有默认值。

例如上图中的TestFunc函数。

2.2半缺省参数

即并不是每个参数都有默认值。

例:

void TestFunc1(int a, int b = 100, int c = 1000) {
	cout << a << ' ' << b << ' ' << c << endl;
}

注意:

1.半缺省参数必须从右往左依次来给出,不能间隔着给。

 2.缺省参数不能在函数声明和定义中同时出现。

void TestFunc2(int a = 1, int b = 2, int c = 3);

int main() {
	TestFunc();
	TestFunc(1, 2, 3);
	TestFunc(1, 2);
	TestFunc(1);
	return 0;
}

void TestFunc2(int a = 1, int b = 2, int c = 3) {

}

 只需在其中一个位置给出即可。

3.缺省值必须是常量或者全局变量。

4.C语言不支持(编译器不支持)。

  • 8
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Hey小孩

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值