C++中namespace和class的区别

(一)区别:namespace作用是避免程序中的命名冲突,传统的C++程序是只有一个namespace,现在程序越来越复杂,为了防止程序员在合并不同程序时出现函数、类、结构体等命名的重复,所以用到命名空间,namespace包含类、函数、常量和模板声明等名字空间成员,例如:

namespace MyUnderstand
{
    class info {
              int number;
              string name;
              public:
              void FristInstance (char *msg);
              void SecondInstance(int Num);
    };
}

 

(二)如何将namespace成员类分离成多个源文件呢?通过以下例子说明:

    下面是名为example.h的头文件,其中定义了上面的名字空间MyUnderstand,它包含类info的声明,另外在一个单独的源文件example.cpp中,首先包含头文件example.h以便实现类info的成员函数FristInstance()和SecondInstance():

//example.cpp

#include "example.h"
void MyUnderstand::info::FristInstance ()
    { /*..*/ }
void MyUnderstand::info::SecondInstance()
    { /*..*/ }

    要是用这个namesapce的成员,就必须使用这个成员在namespace中的路径,例如使用类info就要添加它的全路径名即MyUnderstand::info,这样就能够调用这个namesapce的类,相同的namespace中的函数调用也是如此。

(三)using指令由关键字“using namespace”后跟namesapce名字构成,在访问namesapce空间的成员时不建议经常使用,其原因是这种方法将所有namesapce空间成员注入当前的范围,从而增加了潜在的名字冲突。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值