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

C++-এ এক্সট্রাকশন অপারেটর ওভারলোডিং প্রদর্শনের প্রোগ্রাম


ধরা যাক একটি Person ক্লাস আছে যাতে first_name এবং last_name দুটি অ্যাট্রিবিউট রয়েছে। এছাড়া get_first_name() এবং get_last_name() মেথড রয়েছে। আমাদের এক্সট্রাকশন অপারেটর (<<) ওভারলোড করতে হবে যাতে cout দিয়ে অবজেক্ট প্রিন্ট করা যায়।

উদাহরণস্বরূপ, Person অবজেক্ট ("Sumit", "Ray") হলে আউটপুট হবে "First name - Sumit, Last name - Ray"।

সমাধানের ধাপসমূহ

  • এক্সট্রাকশন অপারেটর ক্লাসের বাইরে সংজ্ঞায়িত করতে হবে
  • রিটার্ন টাইপ হবে ostream reference
  • প্যারামিটার: ostream reference os, Person reference p
  • os দিয়ে অবজেক্টের অংশগুলোর প্রিন্ট করুন
  • os রিটার্ন করুন

উদাহরণ

নিচের ইমপ্লিমেন্টেশনটি দেখুন:

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

ইনপুট

p("Sumit", "Ray")

আউটপুট

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

  1. C++-এ স্ট্রিম ইনসার্শন (<<) এবং এক্সট্র্যাকশন (>>) অপারেটর ওভারলোডিং

  2. C++-এ delete() অপারেটর

  3. C++ ক্লাসের নামের পরে সেমিকোলন (;) কী করে?

  4. C++-এ ইউনারি মাইনাস অপারেটর ওভারলোড করা