初学者C++命名空间和函数重载

#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++中,缺省分为全缺省和半缺省。
全缺省:在调用函数时没有进行传参,就使用默认参数,如果传参,则按照传的参数执行程序。
半缺省:必须要传一个参数,另外的参数采用默认值。半缺省那个只能缺省右边的参数并且要连续缺省。




































   

猜你喜欢

转载自blog.csdn.net/qq_39344902/article/details/79497727