c++

1.c++的命名域

  名字空间域是随标准c++而引入的。它相当于一个更加灵活的文件域(全局域),可以用花括弧把文件的一部分括起来,并以关键字namespace开头给它起一个名字

 例:

namespace name1

{

    int a=0;

}

namespace name2

{

    int a=1;

}

  标准c++库中的所有组件都是在一个被称为std的名字空间中声明定义的,在采用标准c++的平台上使用标准c++库中的组件,只要写一个using指示符

using namespace std

  就可以直接使用标准c++库中的所有成员;或者std::成员的方式使用c++库里的成员。(::是作用域解析符

#include<iostream>//c++库的头文件

#include<stdlib.h>//syztem的头文件

using namespace std;//std 是c++标准库的名字空间
namespace my//创建一个为my的名字空间
{
int a = 100;
}
namespace you//创建一个为you的名字空间
{
int a = 90;
}
int a = 80;//存在于std中
void main()
{
int a = 70;
printf("%d %d %d %d\n", a, ::a, my::a, you::a);//(::a)没有指明命名域则为全局命名域中
system("pause");
return;
}

打印结果:70 80 100 90

也可以修改命名域中的值

#include<iostream>//c++库的头文件
#include<stdlib.h>//syztem的头文件
using namespace std;//std 是c++标准库的名字空间
namespace my//创建一个为my的名字空间
{
int a = 100;
}
namespace you//创建一个为you的名字空间中创建一个为my1的名字空间
{
namespace my1
{
int a = 90;
}
}
void main()
{
my::a = 10;
you::my1::a = 9;
std::cout << my::a    << you::my1::a << endl;
system("pause");
return;
}

打印结果:10    9  

cout是标准输出流对象,<<是输出操作符

cout是标准输入流对象,>>是输出操作符

endl是换行操作符;

他们都属于c++标准库,所以都在std的名字空间里面

2.c++重载函数

么是重载函数:在同一作用域内,一组函数的函数名相同,参数列表不同,返回值可以相同也可以不同。

使用重载函数需要满足以下任意条件

微笑参数个数不同

微笑参数类型不同

#include<iostream>//c++库的头文件
#include<stdlib.h>//syztem的头文件
using namespace std;//std 是c++标准库的名字空间
void func(int i)
{
cout << i << endl;
}
void func(int i,double j)
{
cout << i <<"   "<<j<<endl;
}
void func(double j,int i)
{
cout << i  << "   "<< j << endl;
}
void main()
{
func(2);
func(4.0, 4);
func(3, 3.0);

system("pause");
return;

}

打印结果:

2

4   4

3   3

为什么c++支持重载c不知处重载?

答:c和c++函数名在汇编中的修饰不同,即在返汇编时c中的函数名是什么就是什么然而c++会有函数名的变化。

              c++                                         c




 3.缺省参数  

#include<iostream>

#include<stdlib.h>//syztem的头文件
using namespace std;
int Add1 (int a=0, int b=0)//
全缺省参数
{
return a + b;
}

int Add2(int a, int b = 0)//半缺省参数(半缺省只能缺省右边的并且是连续的)

{
return a + b;
}
void main()
{
cout << Add1() << endl;
cout << Add1(2) << endl;
cout << Add1(2,2) << endl;
cout << Add2(3) << endl;
cout << Add2(3,3) << endl;
system("pause");
return;
}

打印结果:

0

2

4

3

6
















评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值