*/
MyCFriangle.h中的代码 class CFraction {private: int nume; // 分子 int deno; // 分母 public: CFraction(int nu=0,int de=1); //构造函数,初始化用 void Set(int nu=0,int de=1); //置值,改变值时用 void input(); //按照"nu/de"的格式,如"5/2"的形式输入 void Simplify(); //化简(使分子分母没有公因子) int Get_nume(){return nume;} int Get_deno(){return deno;} CFraction operator+(CFraction &c);//实现分数的加法并化简 CFraction operator-(CFraction &c);//实现分数的减法并化简 CFraction operator*(CFraction &c);//实现分数的乘法并化简 CFraction operator/(CFraction &c);//实现分数的除法并化简 }; MyCFriangle.cpp中的代码 #include"stdafx.h" #include "MyCFriangle.h" CFraction::CFraction (int nu, int de)//定义构造函数 { nume=nu; deno=de; } void CFraction::Set(int nu,int de) { nume=nu; deno=de; } void CFraction::Simplify() { int i; if(nume>deno)//分分子和分母哪个大小两种情况 { for(i=2;i<=nume;i++) { if(nume%i==0&&deno%i==0) { nume=nume/i; deno=deno/i; i=2; } } } else for(i=2;i<=deno;i++) { if(nume%i==0&&deno%i==0) { nume=nume/i; deno=deno/i; i=2; } } } CFraction CFraction::operator+(CFraction &c)//实现分数的加法并化简 { CFraction c1; c1.deno=deno*c.deno; c1.nume=nume*c.deno+c.nume*deno; c1.Simplify(); return c1; } CFraction CFraction::operator-(CFraction &c)//实现分数的减法并化简 { CFraction c1; c1.deno=deno*c.deno; c1.nume=nume*c.deno-c.nume*deno; c1.Simplify(); return c1; } CFraction CFraction::operator*(CFraction &c)//实现分数的乘法并化简 { CFraction c1; c1.deno=deno*c.deno; c1.nume=nume*c.nume; c1.Simplify(); return c1; } CFraction CFraction::operator/(CFraction &c)//实现分数的除法并化简 { CFraction c1; c.deno=c.nume; c.nume=c.deno; c1.deno=deno*c.deno; c1.nume=nume*c.nume; c1.Simplify(); return c1; } 等号控件中增加的代码 UpdateData(); CFraction c3,c1(c1_n,c1_d),c2(c2_n,c2_d); if(f=='+') { c3=c1+c2; } if(f=='-') { c3=c1-c2; } if(f=='*') { c3=c1*c2; } if(f=='/') { c3=c1/c2; } c3_n=c3.Get_nume(); c3_d=c3.Get_deno(); UpdateData(FALSE); } 另外还要再加#include "MyCFriangle.h"