mình viết thế này nhé bạn về chạy thử xem có sai không:
Code:
#include<iostream.h>
#include<iomanip.h>
#include<conio.h>
class ps
{
int tu ,mau;
public:
void nhap()
{
cout<<"\nNhap vao gia tri cua tu va mau:\n";
cin>>tu>>mau;
}
void xuat()
{
cout<<tu<<"/"<<mau;
getch();
}
int operator ==(ps ob1)
{
return(tu*(BCNN(ob1.mau,mau)/mau)-ob1.tu*(BCNN(ob1.mau,mau)/ob1.mau)==0)?1:0;
}
//các ham khác viết tương tự
int UCLN(int a,int b)
{
return((a==b)?a:(a>b)?UCLN(a-b,b):UCLN(a,b-a));
}
int BCNN(int a,int b)
{
return(a*b/BCNN(a,b));
}
};
void main()
{
ps ob1,ob2;
ob1.nhap();
ob1.xuat();
ob2.nhap();
ob2.xuat();
if(ob1==ob2)
cout<<"\nHai phan so bang nhau:\n";
else
cout<<"\nHai phan so khong bang nhau:\n";
}
mình khẳng định rằng không sai về cú pháp trong bài này.
còn bạn có thể giải thích rỏ hơn về tải bội toán tử !(not) trong bài này được không? Theo bạn làm thế nào.