Nạp chồng toán tử Input/Output trong C++

Khi kiểu dữ liệu bạn định nghĩa có nhiều thuộc tính, mỗi lần xuất ra phải nhờ vào hàm xuất do bạn tự định nghĩa vậy sao không định nghĩa luôn toán tử nhập xuất của iostream. Để tìm hiểu rõ hơn, mời bạn đọc cùng tham khảo bài viết dưới đây của eLib.VN 

Nạp chồng toán tử Input/Output trong C++

1. Nạp chồng toán tử Input/Output trong C++

C++ là có thể input và output các kiểu dữ liệu có sẵn bởi sử dụng toán tử trích luồng >> và toán tử chèn luồng <<. Các toán tử trích luồng và chèn luồng cũng có thể được nạp chồng để thực hiện input và output cho các kiểu tự định nghĩa (user-defined).

Ở đây, nó là quan trọng để tạo một hàm nạp chồng toán tử một friend của lớp, bởi vì nó sẽ được gọi mà không tạo một đối tượng.

2. Ví dụ Nạp chồng toán tử Input/Output trong C++

Ví dụ sau giải thích cách nạp chồng toán tử trích luồng >> và toán tử chèn luồng << trong C++:.

#include <iostream>
using namespace std;

class KhoangCach
{
private:
    int met;
    int centimet;
public:
    // phan khai bao cac constructor can thiet
    KhoangCach() {
        met = 0;
        centimet = 0;
    }
    KhoangCach(int m, int c) {
        met = m;
        centimet = c;
    }
    friend ostream& operator<<(ostream& output,
        const KhoangCach& K)
    {
        output << "\nDo dai bang m la: " <<
            K.met << "\nVa do dai bang cm la: " << K.centimet;
        return output;
    }      friend istream& operator>>(istream& input, KhoangCach& K)
    {
        input >> K.met >> K.centimet;
        return input;
    }
};

int main()
{
    KhoangCach K1(20, 15), K2(15, 50), K3;
    cout << "Nhap gia tri cua doi tuong K3: " << endl;
    cin >> K3;
    cout << "Khoang cach dau tien: " << K1 << endl;
    cout << "\n==========================\n" << endl;
    cout << "Khoang cach thu hai: " << K2 << endl;
    cout << "\n==========================\n" << endl;
    cout << "Khoang cach thu ba: " << K3 << 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ử Input/Output 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:Denni Trần

CÓ THỂ BẠN QUAN TÂM