名字空间定义及作用

#include <stdio.h>
//命名空间
//一种作用域的划分,常用于区分项目中的模块或组件
//关键字namespace可分开使用
//名字空间可嵌套
//名字空间可起别名
namespace classA {
	int i = 2;
}
namespace classA {//分开定义
	int j = 3;
	void max(void) {
		printf("名字空间里面可以写函数");
	}
}
namespace classB {//嵌套
	int i = 2;
	namespace classC {
		int k = 3;
	}
}

namespace BC = classB::classC;//取个别名

//名字空间使用
// 1.名字空间::内容
// 2.申明名字空间 using namespace classA
// 3.声明只使用命名空间的那部分变量或者函数
using  classA::i;

int main(int argc, char* argv[]) {

	printf("%d\n", classA::i);
	printf("%d\n", classA::j);
	printf("%d\n", classB::i);
	printf("%d\n", classB::classC::k);
	printf("%d\n", BC::k);

	classA::max();

	printf("%d\n", i);
	return 0;
}
#include<iostream>
using namespace std;

namespace ns1 {
	int fun1(int x, int y) {
		return x + y;
	}
	int fun2(int x, int y) {
		return x - y;
	}
	int fun3(int x, int y) {
		return x * y;
	}
	int fun4(int x, int y) {
		return x / y;
	}
}

using ns1::fun1;
using ns1::fun2;
using namespace ns1;

int main(int argc, char* argv[]) {

	cout << fun1(2, 3) << endl;
	cout << fun2(2, 3) << endl;
	cout << fun3(2, 3) << endl;
	return 0;
}
#include<iostream>
using namespace std;
namespace ns1 {
	int fun(int x, int y);
}
namespace ns2 {
	int fun(int x, int y);
	namespace ns3 {
		int fun(int x, int y);
	}
}
int ns1::fun(int x,int y) {
	return x + y;
}
int ns2::fun(int x, int y) {
	return x - y;
}
namespace A = ns2::ns3;
int A::fun(int x, int y) {
	return x * y;
}
int main(int argc, char* argv[]) {

	cout<<ns1::fun(1, 2)<<endl;
	cout<<ns2::fun(2, 3)<<endl;
	cout<<A::fun(3, 4)<<endl;
	return 0;
}

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值