初学者C++命名空间和函数重载
2018-03-09 15:04
309 查看
#include<iostream>包含的是标准的输入输出流,其作用是提供输入输出时的一些信息。
一.命名空间:不同于c语言的,C++程序包含了命名空间,其含义为:使用命名空间std.因为C++标准库中的类
和函数是定义在命名空间std里的,如果程序要使用C++标准库中的类和函数,就需要声明using namespace
std;做提前声明,表示要用到命名空间里的内容。
using namespace std;把std命名空间里的内容展开,命名空间主要用于名字隔离,
解决命名冲突,可以嵌套。
符号::为域作用符,符号之前为所定义域的名称,后面为域中的成员名。
例如:
#include<iostream>
using namespace std;
namespace boy
{
int a=20;
namespace girl
{
int b=18;
}
}
int main()
{
cout<<boy::girl::b<<endl;
system("pause");
return 0;
}
二:函数重载
为什么C语言不支持重载而C++支持重载?其原因在于C和C++的函数名修饰规则不同。首先先介绍一下什么叫做
函数重载,函数重载指的是函数的参数不同(个数或者类型不同),那么由于我们的函数名修饰规则导致函数在
编译时所产生的函数名有所区别。
例如:void Func();和函数void Func(int a,double b)在c语言中重命名的时候函数名保持不变,所以在一
个c语言代码的同一个作用域中是不可能出现两个相同的函数,而在C++中,上面两个函数会被分别命名为:
_Z5Funcv和_Z5Funcid,在调用的时候可以很清楚的区分开到底想要调用哪个函数。
三:缺省参数
在C++中,缺省分为全缺省和半缺省。
全缺省:在调用函数时没有进行传参,就使用默认参数,如果传参,则按照传的参数执行程序。
半缺省:必须要传一个参数,另外的参数采用默认值。半缺省那个只能缺省右边的参数并且要连续缺省。
一.命名空间:不同于c语言的,C++程序包含了命名空间,其含义为:使用命名空间std.因为C++标准库中的类
和函数是定义在命名空间std里的,如果程序要使用C++标准库中的类和函数,就需要声明using namespace
std;做提前声明,表示要用到命名空间里的内容。
using namespace std;把std命名空间里的内容展开,命名空间主要用于名字隔离,
解决命名冲突,可以嵌套。
符号::为域作用符,符号之前为所定义域的名称,后面为域中的成员名。
例如:
#include<iostream>
using namespace std;
namespace boy
{
int a=20;
namespace girl
{
int b=18;
}
}
int main()
{
cout<<boy::girl::b<<endl;
system("pause");
return 0;
}
二:函数重载
为什么C语言不支持重载而C++支持重载?其原因在于C和C++的函数名修饰规则不同。首先先介绍一下什么叫做
函数重载,函数重载指的是函数的参数不同(个数或者类型不同),那么由于我们的函数名修饰规则导致函数在
编译时所产生的函数名有所区别。
例如:void Func();和函数void Func(int a,double b)在c语言中重命名的时候函数名保持不变,所以在一
个c语言代码的同一个作用域中是不可能出现两个相同的函数,而在C++中,上面两个函数会被分别命名为:
_Z5Funcv和_Z5Funcid,在调用的时候可以很清楚的区分开到底想要调用哪个函数。
三:缺省参数
在C++中,缺省分为全缺省和半缺省。
全缺省:在调用函数时没有进行传参,就使用默认参数,如果传参,则按照传的参数执行程序。
半缺省:必须要传一个参数,另外的参数采用默认值。半缺省那个只能缺省右边的参数并且要连续缺省。
相关文章推荐
- c++之初体验——函数重载,引用,命名空间
- C++之命名空间,程序在翻译过程中的四个步骤,函数重载,缺省参数
- C++命名空间通俗的解释
- c++命名空间
- C++中命名空间使用
- C++命名空间
- C++ 命名空间
- 【C/C++学习】命名空间学习理解
- 2,3 c++中 #include< >头文件 和 命名空间 Using namespace std的解释和区别
- C++命名空间 namespace的作用和使用解析
- C++ 命名空间(十六)--namespace、using..
- 详解C++中命名空间的意义和用法
- C++ 命名空间namespace
- C++的命名空间
- C++中的hash_map——Linux下g++和Windows下VC++下头文件,命名空间
- C++ 头文件和命名空间
- C++代码格式规范引导(三):命名空间
- C++的命名空间
- C++中的命名空间
- C++在命名空间中使用函数模板