Nạp chồng toán tử nhị phân trong C++

Nạp chồng toán tử nhị phân trong C++ là gì? Nạp chồng toán tử nhị phân hoạt động như thế nào? Mời bạn đọc cùng eLib.VN tham khảo bài viết dưới đây để hiểu rõ hơn về nạp chồng toán tử nhị phân.

Nạp chồng toán tử nhị phân trong C++

1. Nạp chồng toán tử nhị phân trong C++

Các toán tử nhị phân trong C++ nhận hai tham số. Bạn sử dụng toán tử nhị phân khá thường xuyên, ví dụ như toán tử cộng (+), toán tử trừ (-) và toán tử chia (/).

Toán tử nhị phân (Binary Operator) sẽ hoạt động với 2 toán hạng. Một số ví dụ về toán tử nhị phân bao gồm toán tử số học (+, -, *, /, %), toán tử gán số học (+=, -+, *=, /+, %=) và toán tử quan hệ, ... . Nạp chồng toán tử nhị phân tương tự nạp chồng toán tử một ngôi, ngoại trừ toán tử nhị phân yêu cầu thêm tham số bổ sung.

Cú pháp nạp chồng toán tử nhị phân:

Toán tử toán tử (đối tượng 1, đối tượng 2);

Trong đó toán tử là biểu tượng, biểu thị cho toán tử nhị phân.

toán tử + (a, b);

2. Ví dụ nạp chồng toán tử nhị phân trong C++

Ví dụ sau giải thích cách toán tử cộng (+) có thể được nạp chồng trong C++. Tương tự, bạn có thể nạp chồng toán tử trừ (-) và toán tử chia (/).

#include <iostream>
using namespace std;
  
class Box
{
public:
    double tinhTheTich(void)
    {
        return chieudai * chieurong * chieucao;
    }
    void setChieuDai(double dai)
    {
        chieudai = dai;
    }     
    void setChieuRong(double rong)
    {
        chieurong = rong;
    }
    void setChieuCao(double cao)
    {
        chieucao = cao;
    }
  
    // Nap chong toa tu + de cong hai doi tuong Box.
    Box operator+(const Box& b)
    {
        Box box;
        box.chieudai = this->chieudai + b.chieudai;
        box.chieurong = this->chieurong + b.chieurong;
        box.chieucao = this->chieucao + b.chieucao;
        return box;
    }
private:
    double chieudai;      // chieu dai cua mot box
    double chieurong;     // Chieu rong cua mot box
    double chieucao;      // Chieu cao cua mot box
};
// ham main cua chuong trinh
int main()
{
    Box Box1;                // Khai bao Box1 la cua kieu Box
    Box Box2;                // Khai bao Box2 la cua kieu Box
    Box Box3;                // Khai bao Box3 la cua kieu Box
    double thetich = 0.0;    // Luu giu the tich cua mot box tai day
  
    // thong tin chi tiet cua box 1
    Box1.setChieuDai(3.0);
    Box1.setChieuRong(4.0);
    Box1.setChieuCao(5.0);
  
    // thong tin chi tiet cua box 2
    Box2.setChieuDai(6.0);
    Box2.setChieuRong(7.0);
    Box2.setChieuCao(8.0);
  
    // the tich cua box 1
    thetich = Box1.tinhTheTich();
    cout << "The tich cua Box1 la: " << thetich << endl;
  
    // the tich cua box 2
    thetich = Box2.tinhTheTich();
    cout << "The tich cua Box2 la: " << thetich << endl;
    // cong hai doi tuong nhu sau:
    Box3 = Box1 + Box2;
    // the tich cua box 3
    thetich = Box3.tinhTheTich();
    cout << "The tich cua Box3 la: " << thetich << endl;
    return 0;
}
Biên dịch và chạy chương trình C++ trên sẽ cho kết quả sau:

Trên đây là bài viết của eLib.VN về Nạp chồng toán tử nhị phân trong C++. Hy vọng qua bài này bạn sẽ hiểu và vận dụng trong quá trình học tập và làm việc với C++. Chúc các bạn thành công!

Ngày:29/10/2020 Chia sẻ bởi:Chương

CÓ THỂ BẠN QUAN TÂM