C++快速入门 第四十讲:命名空间与模块化编程2
利用C++预处理器,我们可以让头文件只在这个类还没有被声明过的情况下才声明它。作为一种固定模式,这里使用常量名通常与相应的文件名保持一致(换成大写),把句号替换为下划线。例如rational.h文件对应RATIONAL_H
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 class Rational//定义基类 18 ; 35 36 #endif//如果已经定义rational.h,则结束 37 Rationalpp文件 38 39 #include <iostream> 40 #include <string> 41 #include <math.h> 42 #include "Rational.h"//系统级别用单尖括号,自定义级别用双引号 43 44 using namespace std; 45 46 Rational::Rational(int num,int den)//构造函数实现 47 53 //normalize()对分数进行简化操作包括: 54 //1.只允许分子为负数,如果分母为负数则把负数挪到分子部分,如1/2==1/2 55 //2.利用欧几里德算法(辗转求余原理)将分数进行简化:2/10 => 1/5 56 57 void Rational::normalize() 58 65 //欧几里德算法 66 int a = abs(numerator); 67 int b = abs(deninator); 68 69 //求出最大公约数 70 while(b>0) 71 76 77 //分子、分母分别除以最大公约数得到最简化分数 78 numerator /= a; 79 deninator /= a; 80 } 81 //a c a*d c*b a*d + c*d 82 // + = + = 83 //b d b*d b*d b*d 84 Rational Rational::operator+(Rational rhs)//分数的加运算 85 96 //a c a c 97 // = + 98 //b d b d 99 Rational Rational::operator(Rational rhs)//分数的减运算 100 104 //a c a*c 105 // * = 106 //b d b*d 107 Rational Rational::operator*(Rational rhs)//分数的乘运算 108 119 //a c a d 120 // / = * 121 //b d b c 122 Rational Rational::operator/(Rational rhs)//分数的除运算 123 131 132 ostream& operator<<(ostream& os,Rational f)//并不属于Rational类,是一个独立的函数 133 140 141 void call_love_fishc()//输出爱心 142 157 else 158 169 } 170 171 } 172 173 mainpp文件 174 175 #include <iostream> 176 #include "includes\\fishc.h"//此处表示fish.h在includes目录中 .\\表示在当前目录 ..\\表示在上一级目录 177 #include "Rational.h"//系统级别用单尖括号,自定义级别用双引号 178 #include <string> 179 #include <math.h> 180 181 using namespace std; 182 int main() 183下一篇:Python基础入门学习笔记 010 列表:一个打了激素的数组
C/C++
pla文件怎么看,pla文件用什么打开?
pl1文件怎么看,pl1文件用什么打开?
pl文件怎么看,pl文件用什么打开?
pl0文件怎么看,pl0文件用什么打开?
pkt文件怎么看,pkt文件用什么打开?
pkm文件怎么看,pkm文件用什么打开?
pks文件怎么看,pks文件用什么打开?
pka文件怎么看,pka文件用什么打开?
pkh文件怎么看,pkh文件用什么打开?
pkg文件怎么看,pkg文件用什么打开?