【C++实验】类和对象(两个分数相加并且化简)

您所在的位置:网站首页 两个分数相减计算方法 【C++实验】类和对象(两个分数相加并且化简)

【C++实验】类和对象(两个分数相加并且化简)

2024-07-13 15:42| 来源: 网络整理| 查看: 265

类和对象进一步讨论

面向对象程序设计中的几个名词: st1是对象 display()是方法 st1.dispaly()是消息

构造函数:对类的成员进行初始化(为对象分配内存) 带参数/使用默认参数的构造函数 参数初始化表,更加简洁 构造函数的重载 构造函数的函数名必须与类名相同;没有类型与返回值;参数可带可不带

析构函数 :释放对象占用的内存空间 局部自动对象:每次调用对象所在函数同时调用构造函数,在其所在函数结束时调用解析函数 静态局部对象:调用对象所在函数时调用构造函数,在主程序结束时调用析构函数

先构造的后析构,后构造的先析构 (相当于一个栈,先进后出,后进先出)

对象数组

对象指针 *p与p–>相同 指向对象的指针 int *p1=&t1.hour; 指向对象成员的指针 void(Time::*p3)=&Time::get_time; this指针(隐式使用):在调用成员函数时,把对象的地址作为实参传递给this指针

实验内容

分数相加,两个分数分别是 1/5 和 7/20,它们相加后得 11/20。 方法是先求出两个分数分母的最小公倍数,通分后,再求两个分子的和,最后约简结果分数的分子和分母,即用分子分母的最大公约数分别除分子和分母。 求m、n最大公约数的一种方法为:将m、n较小的一个数赋给变量k,然后分别用(k,k-1,k-2…1)中的数(递减)去除m和n,第一个能把m和n同时除尽的数就是m和n的最大公约数。 假定m、n的最大公约数是v,则它们的最小公倍数就是m*n/v。 试建立一个分数类Fract,完成两个分数相加的功能。具体要求如下: (1)私有数据成员 int num, den : num为分子,den为分母。 (2)公有成员函数 Fract(int a=0,int b=1):构造函数,用a和b分别初始化分子num、分母den。 int ged (int m, intn);求m、n的最大公约数。此函数供成员add)函数调用。 Fract add (Fract f):将参数分数f与对象自身相加,返回约简后的分数对象。 void show():按照num/den的形式在屏幕上显示分数。 (3)在主程序中定义两个分数对象f1和f2,其初值分别是1/5和7/20,通过f1调用成员函数add完 成f1和f2的相加,将得到的分数赋给对象f3,显示分数对象f3。

代码展示 #include using namespace std; class Fract { int num,den; //num分子,den分母 public: Fract(int a=0, int b=1) //构造函数赋初始值 {num=a;den=b;} int ged(int m, int n); //求最大公约数 Fract add(Fract f); //分数相加并化简 void show() {cout


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3