কম্পিউটার টিউটোরিয়াল

C++-তে অপারেটর ওভারলোডিং দিয়ে ভেক্টর, ম্যাপ, পেয়ার প্রিন্ট করা

এই টিউটোরিয়ালে অপারেটর ওভারলোডিং ব্যবহার করে vector, map, pair এর কন্টেন্ট সহজে প্রিন্ট করার পদ্ধতি দেখানো হয়েছে।

অপারেটর ওভারলোডিং কী?

অপারেটরগুলোর ক্ষমতা বর্ধন করে যাতে ইউজার-ডিফাইনড অবজেক্টের ওপর সেগুলো কাজ করতে পারে।

১. ভেক্টর প্রিন্ট

#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;
}

আউটপুট

[4, 2, 17, 11, 15]

২. ম্যাপ প্রিন্ট

#include <iostream>
#include <map>
using namespace std;

template <typename T, typename S>
ostream& operator<<(ostream& os, const map<T, S>& m) {
    for (auto it : m)
        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;
    return 0;
}

আউটপুট

a : 2
b : 3
d : 5

৩. পেয়ার প্রিন্ট

#include <iostream>
using namespace std;

template <typename T, typename S>
ostream& operator<<(ostream& os, const pair<T, S>& p) {
    os << "(" << p.first << ", " << p.second << ")";
    return os;
}

int main() {
    pair<int, int> p{45, 7};
    cout << p;
    return 0;
}

আউটপুট

(45, 7)
  1. C++-এ уникаল ভগ্নাংশ: সরলীকরণ, ডুপ্লিকেট মুছে সর্টিং

  2. C++ STL-এ map::max_size() ফাংশন

  3. C++-এ ইন্টারভাল ইনসার্ট (Insert Interval)

  4. C++-এ বাইনারি ট্রি প্রিন্ট করা