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

Nạp chồng toán tử trong C++ để in vector, map, pair...


Trong hướng dẫn này, chúng ta sẽ thảo luận về chương trình hiểu nạp chồng toán tử (operator overloading) trong C++ để in nội dung của vector, map và pair.

Nạp chồng toán tử là chức năng của các toán tử cho phép chúng tác động lên đối tượng do người dùng định nghĩa và hoạt động tương tự theo cách mong muốn.

Ví dụ

Vector

#include <iostream> #include <vector> using namespace std; template <typename T> ostream& operator<<(ostream& os, const vector<T>& v){    os << "[";    for (int i = 0; i < v.size(); ++i) {       os << v[i];       if (i != v.size() - 1)          os << ", ";    }    os << "]\n";    return os; } int main() {    vector<int> vec{ 4, 2, 17, 11, 15 };    cout << vec;    return 0; }

Kết quả

[4, 2, 17, 11, 15]

Map

#include <iostream> #include <map> using namespace std; template <typename T, typename S> ostream& operator<<(ostream& os, const map<T, S>& v){    for (auto it : v)     os << it.first << " : "     << it.second << "\n";    return os; } int main(){    map<char, int> mp;    mp['b'] = 3;    mp['d'] = 5;    mp['a'] = 2;    cout << mp; }

Kết quả

a : 2 b : 3 d : 5

Pair

#include <iostream> using namespace std; template <typename T, typename S> ostream& operator<<(ostream& os, const pair<T, S>& v){    os << "(";    os << v.first << ", "    << v.second << ")";    return os; } int main(){    pair<int, int> pi{ 45, 7 };    cout << pi;    return 0; }

Kết quả

(45, 7)