Tạo lớp phanso, bắt buộc phải có:
Ø  Thành
phần dữ liệu tuso và mauso
Ø  Hàm
thiết lập với các tham số mặc định gán cho tuso và mauso
Ø  Hàm
quy đồng mẫu 2 phân số
Ø  Hàm
tối giản phân số
Ø  Hàm
chồng toán tử chèn dòng << để xuất phân số ra màn hình
Ø  Hàm
chồng toán tử + cộng 2 phân số
Tạo lớp honso kế thừa lớp phanso,
bắt buộc phải có:
Ø  Thành
phần dữ liệu nguyen là phần nguyên của hỗn số
Ø  Hàm
thiết lập với các tham số mặc định gán cho tuso, mauso và nguyen
Ø  Hàm
chồng toán tử chèn dòng << để xuất hỗn số ra màn hình
Ø  Hàm
chồng toán tử + cộng 2 hỗn số
Hàm
main tạo 2 phân số, 2 hỗn số. Xuất các phân số, hỗn số, tổng 2 phân số, tổng 2
hỗn số.#include<iostream.h>
int
usc(int a, int b)
{int
r=a%b;
  {a=b;b=r;r=a%b;
  }
 return b;
}
class
phanso
{
protected:
  int tuso,mauso;
  public:
            phanso(int a=0, int b=1)
            {tuso=a;
             mauso=b;
            }
 void quydong(phanso &b)
            {b.tuso=b.tuso*mauso;
             mauso=mauso*b.mauso;
             tuso=tuso*b.mauso;
             b.mauso=mauso;
            }
 void toigian()
            {int u=usc(tuso,mauso);
             tuso=tuso/u;
             mauso=mauso/u;
            }
 friend ostream &operator << (ostream
&Out,phanso &P)
  {P.toigian();
            Out<<P.tuso<<"/"<<P.mauso<<"\n";
            return Out;
  }
 phanso operator+(phanso b)
            {quydong(b);
             phanso c;
             c.tuso=tuso+b.tuso;
             c.mauso=mauso;
             return c;
            }
};
class
honso:public phanso
{
int nguyen;
  void toigian()
            {phanso::toigian();
             int n=tuso/mauso;
             nguyen+=n;
             tuso=tuso%mauso;
            }
 public:
  honso(int p=0,int q=0,int r=1):phanso(q,r)
  {nguyen=p;   }
 honso operator+(honso b)
            {quydong(b);
             honso c;
             c.tuso=tuso+b.tuso;
             c.mauso=mauso;
             c.nguyen=nguyen+b.nguyen;
             return c;
            }
 friend ostream &operator << (ostream
&Out,honso &P)
  {P.toigian();
            Out<<P.nguyen<<"+"<<P.tuso<<"/"<<P.mauso<<"\n";
            return Out;
  }
 };
void
main()
{phanso
x(12,18),y(15,25);
 cout<<"Phan so thu nhat
:"<<x<<endl;
 cout<<"Phan so thu hai
:"<<y<<endl;
 cout<<"Tong 2 phan so
:"<<(x+y)<<endl;
 honso a(3,6,8),b(2,10,16);
 cout<<"Hon so thu nhat
:"<<a<<endl;
 cout<<"Hon so thu hai
:"<<b<<endl;
 cout<<"Tong 2 hon so
:"<<(a+b)<<endl;
}
Nhãn bài viết: Chia-se | Học tập

 
 
 
 
 
 
