当前位置: 首页 > 网络知识

C++快速入门 第三十九讲:命名空间和模块化编程

时间:2026-01-29 09:25:41

模块化:把程序划分成多个组成部分(即所谓的模块)。这是通过把程序代码分散到多个文件里,等编译程序时再把那些文件重新组合在一起实现的。

C++预处理器的#include指令提供了一种能够让编译器在编译主程序时把其他文件的内容包括进来的机制。例如用这个指令来包括iostream头文件。

实例:头文件应用

1 Rational.h文件 2 3 //Ration.h 4 //Create by 亦我飞也 5 6 //这个头文件用来声明有理数类(Rational class) 7 //类里面对四则运算进行重载,以实现分数运算 8 9 #include <iostream> 10 11 class Rational//定义基类 12 ; 29 Rationalpp文件 30 31 #include <iostream> 32 #include <string> 33 #include <math.h> 34 #include "Rational.h"//系统级别用单尖括号,自定义级别用双引号 35 36 using namespace std; 37 //class Rational//定义基类 38 //; 55 56 Rational::Rational(int num,int den)//构造函数实现 57 //normalize()对分数进行简化操作包括: 64 //1.只允许分子为负数,如果分母为负数则把负数挪到分子部分,如1/2==1/2 65 //2.利用欧几里德算法(辗转求余原理)将分数进行简化:2/10 => 1/5 66 67 void Rational::normalize() 68 75 //欧几里德算法 76 int a = abs(numerator); 77 int b = abs(deninator); 78 79 //求出最大公约数 80 while(b>0) 81 86 87 //分子、分母分别除以最大公约数得到最简化分数 88 numerator /= a; 89 deninator /= a; 90 } 91 //a c a*d c*b a*d + c*d 92 // + = + = 93 //b d b*d b*d b*d 94 Rational Rational::operator+(Rational rhs)//分数的加运算 95 106 //a c a c 107 // = + 108 //b d b d 109 Rational Rational::operator(Rational rhs)//分数的减运算 110 114 //a c a*c 115 // * = 116 //b d b*d 117 Rational Rational::operator*(Rational rhs)//分数的乘运算 118 129 //a c a d 130 // / = * 131 //b d b c 132 Rational Rational::operator/(Rational rhs)//分数的除运算 133 141 142 ostream& operator<<(ostream& os,Rational f);//函数声明 143 144 int main() 145 1 ostream& operator<<(ostream& os,Rational f)//并不属于Rational类,是一个独立的函数 164


上一篇:C++快速入门 第四十八讲:向量和容器2
下一篇:C++快速入门 第三十一讲:错误处理与调试2
  • 英特尔与 Vertiv 合作开发液冷 AI 处理器
  • 英特尔第五代 Xeon CPU 来了:详细信息和行业反应
  • 由于云计算放缓引发扩张担忧,甲骨文股价暴跌
  • Web开发状况报告详细介绍可组合架构的优点
  • 如何使用 PowerShell 的 Get-Date Cmdlet 创建时间戳
  • 美光在数据中心需求增长后给出了强有力的预测
  • 2027服务器市场价值将接近1960亿美元
  • 生成式人工智能的下一步是什么?
  • 分享在外部存储上安装Ubuntu的5种方法技巧
  • 全球数据中心发展的关键考虑因素
  • 英特尔与 Vertiv 合作开发液冷 AI 处理器

    英特尔第五代 Xeon CPU 来了:详细信息和行业反应

    由于云计算放缓引发扩张担忧,甲骨文股价暴跌

    Web开发状况报告详细介绍可组合架构的优点

    如何使用 PowerShell 的 Get-Date Cmdlet 创建时间戳

    美光在数据中心需求增长后给出了强有力的预测

    2027服务器市场价值将接近1960亿美元

    生成式人工智能的下一步是什么?

    分享在外部存储上安装Ubuntu的5种方法技巧

    全球数据中心发展的关键考虑因素