一、名字空间
名字空间域是随标准C++而引入的。它相当于一个更加灵活的文件域(全局与域),可以用花括号
把文件的一部分括起来,并以关键字namespace开头给它起一个名字。
namespace name1
{
int a = 0;
}
namespace name2
{
int b = 1;
}
name1::a = 3;
name2::b = 4;
名字命名空间解决了全局命名冲突的问题
标准的C++库中的所有组件都是在一个被称为std的名字命名空间中声明和定义的。在采用标准C++的平台上
使用标准C++库中的组件,只要写一个using指示符:using namespace std;就可以直接使用标准C++库中
所用成员。或者std::成员的方式也可以使用C++库里的成员。
::是作用域解析符
namespace std // std是C++标准库的名字空间
{
//标准库成员
}
#include<iostream>
int main()
{
std::cout << "hello,word" << std::endl;
return 0;
}
C&C++输入输出对比
cout是标准输出流对象,<<是输出操作符;
cin是标准输入流对象,>>是输入操作符;
他们都属于C++标准库,所以都在std的名字空间里。
二、函数重载
定义:在同一作用域类,一组函数的函数名相同,参数列表不同(个数不同/类型不同),返回值
可同可不同。
#include<iostream>
using namespace std;
int add(int a, int b)
{
return a + b;
}
double add(double a, double b)
{
return a + b;
}
int main()
{
add(10, 20);
add(10.2, 20.2);
return 0;
}