C++快速入门 第四十一讲:命名空间
命名空间其实就是由用户定义的范围,同一个命名空间里的东西只要在这个命名空间里具有独一无二的名字就行了。
例如:
1 namespace author 2 3 8 9 namespace programmer 10 11两者由于在不同的命名空间,所以并不会出现冲突。
用一个using指令可以把特定命名从命名空间提取到全局作用域:
1 using std::cout; 2 3 cout << "Hello World!!\n";using指令的出现决定着从命名空间里提取出来的东西能在哪个作用域内使用。如果把它放在某个函数声明的前面,他将拥有全局性;如果把他放在某个函数里,他将只在这一个函数里可以使用。
实例:
1 Rational.h文件: 2 3 //Ration.h 4 //Create by 亦我飞也 5 6 //这个头文件用来声明有理数类(Rational class) 7 //类里面对四则运算进行重载,以实现分数运算 8 9 //如果RATIONAL_H未被定义,则定义rational.h,执行定义类程序 10 //如果RATIONAL_H已经被定义,程序则直接跳到endif(即定义类程序只会执行一次) 11 #ifndef RATIONAL_H//如果没有定义rational.h 12 13 #define RATIONAL_H//定义rational.h 14 15 #include <iostream> 16 17 namespace myMath 18 ; 37 38 void call_love_fishc();//输出爱心 39 } 40 41 42 #endif//如果已经定义rational.h,则结束 43 44 45 Rationalpp文件 46 47 #include <iostream> 48 #include <string> 49 #include <math.h> 50 #include "Rational.h"//系统级别用单尖括号,自定义级别用双引号 51 52 using namespace std; 53 namespace myMath 54 62 //normalize()对分数进行简化操作包括: //1.只允许分子为负数,如果分母为负数则把负数挪到分子部分,如1/2==1/2 64 //2.利用欧几里德算法(辗转求余原理)将分数进行简化:2/10 => 1/5 65 66 void Rational::normalize() 67 74 //欧几里德算法 75 int a = abs(numerator); 76 int b = abs(deninator); 77 78 //求出最大公约数 79 while(b>0) 80 85 86 //分子、分母分别除以最大公约数得到最简化分数 87 numerator /= a; 88 deninator /= a; 89 } 90 //a c a*d c*b a*d + c*d 91 // + = + = 92 //b d b*d b*d b*d 93 Rational Rational::operator+(Rational rhs)//分数的加运算 94 105 //a c a c 106 // = + 107 //b d b d 108 Rational Rational::operator(Rational rhs)//分数的减运算 109 113 //a c a*c 114 // * = 115 //b d b*d 116 Rational Rational::operator*(Rational rhs)//分数的乘运算 117 128 //a c a d 129 // / = * 130 //b d b c 131 Rational Rational::operator/(Rational rhs)//分数的除运算 132 140 141 ostream& operator<<(ostream& os,Rational f)//并不属于Rational类,是一个独立的函数 142 149 150 void call_love_fishc()//输出爱心 151 166 else 167 178 } 179 180 } 181 182 183 } 184 185 186 mainpp文件: 187 188 #include <iostream> 189 #include "Rational.h"//系统级别用单尖括号,自定义级别用双引号 190 #include <string> 191 #include <math.h> 192 //using指令的出现决定着从命名空间里提取出来的东西能在哪个作用域内使用。 193 //如果把它放在某个函数声明的前面,他将拥有全局性;如果把他放在某个函数里,他将只在这一个函数里可以使用。 194 using namespace std; 195 using namespace myMath;//声明命名空间myMath 196 197 int main() 198上一篇:Python基础入门学习笔记 001 我和Python的第一次亲密接触
下一篇:Python基础入门学习笔记 011列表:一个打了激素的数组2
C/C++
pla文件怎么看,pla文件用什么打开?
pl1文件怎么看,pl1文件用什么打开?
pl文件怎么看,pl文件用什么打开?
pl0文件怎么看,pl0文件用什么打开?
pkt文件怎么看,pkt文件用什么打开?
pkm文件怎么看,pkm文件用什么打开?
pks文件怎么看,pks文件用什么打开?
pka文件怎么看,pka文件用什么打开?
pkh文件怎么看,pkh文件用什么打开?
pkg文件怎么看,pkg文件用什么打开?