Ứng dụng hàm bạn, nạp chồng toán tử
Xây dựng lớp PHANSO có các thông tin: tử số, mẫu số và các phương thức:
- Phương thức thiết lập với 2 tham số (tử số, mẫu số)
- Nạp chồng các toán tử sau
o Toán tử cộng hai phân số (+)
o Toán tử trừ hai phân số (-)
o Toán tử nhân hai phân số (*)
o Toán tử chia hai phân số (/)
o Toán tử in(<<)phân số ra màn hình (dạng: tử số/mẫu số)
o Toán tử nhập (>>)
o Phép toán cộng, trừ, nhân, chiahai phân số
Viết chương trình chính thực hiện nhập hai phân số, tính tổng, tích của chúng và hiển thị kết quả ra màn hình.
#include
using namespace std;
class phanso{
private:
inttu,mau;
public:
phanso(intts=0, intms=0);
friend ostream& operator<<(ostream&, phanso);
friend istream& operator>>(istream&, phanso&);
friend phanso rutgon(phanso u);
phanso operator+(phanso);
phanso operator-(phanso);
};
//tìm ước số chung lớn nhất
int uscln(int x, int y){
while(y!=0){
int r=x%y;
x=y;
y=r
}
return x;
}
phanso::phanso(int ts, int ms){
tu=ts;
mau=ms;
}
ostream& operator<<(ostream& os, phanso u){
os<
return os;
}
istream& operator>>(istream& is,phanso &u){
cout<<"Nhap tu so: ";is>>u.tu;
cout<<"Nhap mau so: ";is>>u.mau;
return is;
}
phanso rutgon(phanso u){
phanso q;
q.tu=u.tu/uscln(u.tu,u.mau);
q.mau=u.mau/uscln(u.tu, u.mau);
return q;
}
phanso phanso::operator+(phanso u){
phanso v;
v.tu=this->tu*u.mau+u.tu*this->mau;
v.mau=this->mau*u.mau;
return rutgon(v);
}
phanso phanso::operator-(phanso u){
phanso v;
v.tu=this->tu*u.mau-u.tu*this->mau;
v.mau=this->mau*u.mau;
return rutgon(v);
}
int main(){
phanso p1, p2;
cout<<"Nhap phan so thu nhat:"<<>
cin>>p1;
cout<<"Nhap phan so thu hai:"<<>
cin>>p2;
cout<<"-------------"<<>
cout<<><>
cout<<><>
cout<<"Tong hai phan so:"<<><>
cout<<"Hieu hai phan so:"<<>
return0;
}
Ghi chú:sinh viên tiếp tục thực thiện nạp chồng toán tử nhân (*) và chia (/) 2 phân số để hoàn thiện bài trên.
- BÌNH TĨNH TRƯỚC HỘP THƯ SỐ – NGHỆ THUẬT NHẬN DIỆN EMAIL PHISHING TỪ GÓC NHÌN NGHIỆP VỤ
- HÓA THÂN THÀNH "KẺ TẤN CÔNG": KHI HIỂU RÕ CẠM BẪY, TA PHÒNG THỦ VỮNG VÀNG HƠN
- CÁC CÔNG CỤ XÂY DỰNG GIAO DIỆN ỨNG DỤNG BẰNG TRÍ TUỆ NHÂN TẠO (AI)
- Silent Lynx khai thác lỗ hổng WinRAR để triển khai Reverse Shell nhằm tấn công các cơ quan chính phủ
- Thông tin xác thực ConnectWise bị chiếm dụng, 173 môi trường Microsoft 365 bị truy cập trái phép