Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> C++

Chương trình C++ nạp chồng toán tử xuất

Giả sử chúng ta có lớp Person với hai thuộc tính first_name và last_name. Có phương thức get_first_name() và get_last_name(). Chúng ta phải nạp chồng toán tử xuất (<<) để in first name và last name khi dùng cout.

Ví dụ: Person("Sumit", "Ray") → "First name: Sumit, Last name: Ray, he is our member."

Giải thuật

  • Toán tử << được định nghĩa ngoài lớp
  • Kiểu trả về: ostream&
  • Tham số: ostream& os, Person& p
  • Sử dụng os để xuất các thành phần theo thứ tự
  • Trả về os

Ví dụ minh họa

#include <iostream> 
using namespace std; 

class Person { 
private: 
    string f_name; 
    string l_name; 
public: 
    Person(string first_name, string last_name) : f_name(first_name), l_name(last_name) {} 
    string& get_first_name() { return f_name; } 
    string& get_last_name() { return l_name; } 
}; 

ostream& operator<<(ostream& os, Person& p) { 
    os << "First name: " << p.get_first_name() << ", Last name: " << p.get_last_name(); 
    return os; 
} 

int main(){ 
    Person p("Sumit", "Ray"); 
    cout << p << ", he is our member."; 
} 

Đầu vào

p("Sumit", "Ray")

Đầu ra

First name: Sumit, Last name: Ray, he is our member.