#pragma once
#include<iostream>
#include<fstream>
using namespace std;
class phanSo
{
private:
int tuso,mauso;
public:
phanSo();// khởi tạo mặc định
phanSo(int ,int );// khởi tạo tham số
phanSo(const phanSo &);
// Nhập phân số
friend istream& operator>>(istream&,phanSo & );
friend ostream& operator<<(ostream& ,phanSo);
// cộng trừ nhân chia nhé cách bạn
// Phép gán bằng nhé các bạn
phanSo& operator =(const phanSo &);
// Qua phần cộng trừ nhân chia nhé cac bạn
phanSo operator +(phanSo );
phanSo operator -(phanSo );
phanSo operator *(phanSo );
phanSo operator /(phanSo );
// phân số +int
phanSo operator +(int );
phanSo operator -(int );
phanSo operator *(int );
phanSo operator /(int );
// int +phan số
friend phanSo operator +(int ,phanSo);
friend phanSo operator -(int ,phanSo);
friend phanSo operator *(int ,phanSo);
friend phanSo operator /(int ,phanSo);
// +=,-=,*=,/= bạn nhé
// phan số +=,*=,/=,-= phan so
phanSo& operator+=(const phanSo &);
phanSo& operator-=(const phanSo &);
phanSo& operator*=(const phanSo &);
phanSo& operator/=(const phanSo &);
// phân số +=,-=,*=,/= int
phanSo& operator+=(int);
phanSo& operator-=(int);
phanSo& operator*=(int);
phanSo& operator/=(int);
// so sanh nhe cac bạn
bool operator>(phanSo);
bool operator<(phanSo);
bool operator>=(phanSo);
bool operator<=(phanSo);
bool operator==(phanSo);
bool operator!=(phanSo);
// qua toán tử cộng nhe các bạn
phanSo operator++();
phanSo operator++(int);
~phanSo(void);
//
};
// file .cpp nhe các bạn
#include "phanSo.h"
phanSo::phanSo()
{
tuso=0;
mauso=1;
}
// khởi tạo có tham số
phanSo::phanSo(int a,int b)
{
tuso=a;
mauso=b;
}
// sao chép
phanSo::phanSo(const phanSo &a)
{
tuso=a.tuso;
mauso=a.mauso;
}
// nhập
istream& operator >>(istream &is,phanSo &a)
{
is>>a.tuso;
is>>a.mauso;
return is;
}
// xuất
ostream& operator <<(ostream &os,phanSo a)
{
os<<a.tuso<<"/"<<a.mauso;
return os;
}
// phép gán =
phanSo& phanSo::operator=(const phanSo &a)
{
this->tuso =a.tuso;
this->mauso=a.mauso;
return *this;
}
// cộng trừ nhân chia nhé các bạn thân yêu của tui
// cộng phan số với 1 phân số
phanSo phanSo::operator +(phanSo a)
{
phanSo ps(tuso*a.mauso+mauso*a.tuso,mauso*a.mauso);
return ps;
}
phanSo phanSo::operator*(phanSo a)
{
phanSo ps(tuso*a.tuso,mauso*a.mauso);
return ps;
}
phanSo phanSo::operator-(phanSo a)
{
phanSo ps(tuso*a.mauso-mauso*a.tuso,mauso*a.mauso);
return ps;
}
phanSo phanSo::operator/(phanSo a)
{
phanSo nghichdao(a.mauso,a.tuso);
return this->operator*(nghichdao);
}
// cộng phân số với 1 số nguyên ban nhé
phanSo phanSo::operator+(int x)
{
phanSo a(x,1);
return this->operator+(a);
}
phanSo phanSo::operator-(int x)
{
phanSo a(x,1);
return this->operator-(a);
}
phanSo phanSo::operator*(int x)
{
phanSo a(x,1);
return this->operator*(a);
}
phanSo phanSo::operator/(int x)
{
phanSo a(x,1);
return this->operator/(a);
}
// cộng trừ nhân chia 1 số nguyên với 1 phân số ban nhé
phanSo operator+(int a,phanSo ps)
{
phanSo x(a,1);
return ps+x;
}
phanSo operator -(int x,phanSo ps)
{
phanSo a(x,1);
return (-1)*(ps+a);
}
phanSo operator*(int x,phanSo ps)
{
phanSo a(x,1);
return ps*a;
}
phanSo operator/(int x,phanSo ps)
{
phanSo a(x,1);
return a/ps;
}
// phan số +=,*=,/=,-= phân số
phanSo& phanSo::operator +=(const phanSo &ps)
{
*this=*this+ps;
return *this;
}
phanSo& phanSo::operator -=(const phanSo &ps)
{
*this=*this-ps;
return *this;
}
phanSo& phanSo::operator *=(const phanSo &ps)
{
*this=*this*ps;
return *this;
}
phanSo& phanSo::operator /=(const phanSo &ps)
{
*this=*this/ps;
return *this;
}
// phân số +=,-=,*=,/= int
phanSo& phanSo::operator+=(int x)
{
phanSo a(x,1);
*this=*this+a;
return *this;
}
phanSo& phanSo::operator-=(int x)
{
phanSo a(x,1);
*this=*this-a;
return *this;
}
phanSo& phanSo::operator*=(int x)
{
phanSo a(x,1);
*this=*this*a;
return *this;
}
phanSo& phanSo::operator/=(int x)
{
phanSo a(x,1);
*this=*this/a;
return *this;
}
// so sánh nhé các bạn
bool phanSo::operator>(phanSo a)
{
return mauso>a.mauso;
}
bool phanSo::operator<(phanSo a)
{
return mauso<a.mauso;
}
bool phanSo::operator>=(phanSo a)
{
return mauso>=a.mauso;
}
bool phanSo::operator<=(phanSo a)
{
return mauso<=a.mauso;
}
bool phanSo::operator==(phanSo a)
{
return mauso==a.mauso;
}
bool phanSo::operator!=(phanSo a)
{
return mauso!=a.mauso;
}
// ++a,a++;
phanSo phanSo::operator++()
{
*this=*this+1;
return *this;
}
phanSo phanSo::operator++(int x)
{
phanSo tem=*this; // chổ này mình tạo 1 biến phụ để gán trước kjhi tăng lên nhe các bạn
*this=*this+1;
return tem;
}
//hàm hủy nhé
phanSo::~phanSo(void)
{
}
// hàm main
#include"phanSo.h"
int main()
{
phanSo a(1,2);
phanSo b(3,4);
b=a++;
//++a;
cout<<b;
cout<<a;
tương tự các hạ làm típ nhé đúi ....
system("pause");
return 0;
}
// p/t: nếu thắc mắc chổ nào các bạn inpox len face cho mình nhé
facebook.com: https://www.facebook.com/chuc.tiensinh
số điện thoại 01683539845
Be the first to comment
You can use [html][/html], [css][/css], [php][/php] and more to embed the code. Urls are automatically hyperlinked. Line breaks and paragraphs are automatically generated.