C++命名空间

-------siwuxie095

  

  

  

  

  

C++命名空间(namespace)

  

  

什么是命名空间:

简言之,就是为程序划片取名字

  

  

  

  

  

程序中的命名空间:

如:A 公司的程序库 与 B 公司的程序库(二者毫无联系),

都将卖给 C 公司

  

  

  

  

如果 C 软件公司购买了 A 公司和 B 公司的程序库,想使用

A 公司的变量 x 和 B 公司的函数 f1,怎么办?

〔 C 公司怎么办,A 公司和 B 公司如何写自己的代码,

所以 A 公司和 B 公司要使用命名空间 〕

 

  

(即为什么要有命名空间)

  

  

  

解决方案:

使用命名空间namespace

  

  

  

命名空间定义方法:

  

  

  

命名空间使用方法:

  

  

  

  

  

  

如:

  

#include<stdlib.h>

#include <iostream>

using namespace std;

  

namespace A

{

int x = 1;

void fun()

{

cout << "A" << endl;

}

}

  

namespace B

{

int x = 2;

void fun()

{

cout << "B" << endl;

}

void fun2()

{

cout << "2B" << endl;

}

}

  

using namespace B;

int main(void)

{

cout << A::x << endl;

B::fun();

fun2();

system("pause");

return0;

}

//或者去掉 using namespace B; 与上面等价

//int main(void)

//{

// cout << A::x << endl;

// B::fun();

// B::fun2();

// system("pause");

// return 0;

//}

  

  

vs2013中:

  

  

  

  

  

  

或者:

  

//或者去掉 using namespace std; 与上面整体等价

#include"stdlib.h"

#include <iostream>

  

namespace A

{

int x = 1;

void fun()

{

std::cout << "A" << std::endl;

}

}

  

namespace B

{

int x = 2;

void fun()

{

std::cout << "B" << std::endl;

}

void fun2()

{

std::cout << "2B" << std::endl;

}

}

  

using namespace B;

int main(void)

{

std::cout << A::x << std::endl;

B::fun();

fun2();

system("pause");

return0;

}

  

  

vs2013中:

  

  

  

  

  

  

  

  

再如:

  

#include<stdlib.h>

#include <iostream>

using namespace std;

  

namespace myNum //填写命名空间的关键字

{

int x = 105;

}

  

int main()

{

// 使用bool类型定义isOdd,作为状态位

bool isFlag = false;

  

if (myNum::x % 2 == 0)

{

//改变状态位的值,使其为false

isFlag = false;

}

else

{

//改变状态位的值,使其为true

isFlag = true;

}

// 判断状态位的值

if (isFlag)

{

// 如果状态位的值为true,则打印变量x是奇数

cout << myNum::x << "是奇数" << endl;

}

else

{

// 如果状态位的值为false,则打印变量x是偶数

cout << myNum::x << "是偶数" << endl;

}

system("pause");

return0;

}

  

  

vs2013中:

  

  

  

  

  

  

  

【made by siwuxie095】

  

  

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值