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

C++-এ অপারেটর ওভারলোডিংয়ের নিয়মাবলী


C++-এ কম্পাইল টাইম পলিমরফিজম সাপোর্ট করা হয়। কম্পাইল টাইম পলিমরফিজমের উদাহরণ হল ফাংশন ওভারলোডিং এবং অপারেটর ওভারলোডিং।

অপারেটর ওভারলোডিংয়ের কিছু নিয়ম আছে। এগুলো নিচে দেওয়া হলো:

  • শুধুমাত্র বিল্ট-ইন অপারেটরগুলো ওভারলোড করা যায়। যদি C++-এ কোনো অপারেটর না থাকে, তবে সেটি ওভারলোড করা যাবে না।

  • অপারেটরদের অ্যারিটি (operand সংখ্যা) পরিবর্তন করা যাবে না।

  • অপারেটরদের প্রসিডেন্স (precedence) একই থাকে।

  • ওভারলোডেড অপারেটর ডিফল্ট প্যারামিটার ধারণ করতে পারে না, ফাংশন কল অপারেটর "()" ছাড়া।

  • বিল্ট-ইন ডেটা টাইপের জন্য অপারেটর ওভারলোড করা যাবে না। কমপক্ষে একটি ইউজার-ডিফাইনড ডেটা টাইপ থাকতে হবে।

  • অ্যাসাইনমেন্ট "=", সাবস্ক্রিপ্ট "[]", ফাংশন কল "()", এবং অ্যারো অপারেটর "->" এই অপারেটরগুলো অবশ্যই মেম্বার ফাংশন হিসেবে ডিফাইন করতে হবে, ফ্রেন্ড ফাংশন হিসেবে নয়।

  • অ্যাসাইনমেন্ট "=", অ্যাড্রেস "&", এবং কমা "," এই অপারেটরগুলো ডিফল্টভাবে ওভারলোডেড থাকে।

  1. C++-এ অপারেটর ওভারলোডিং-এর বেসিক রুল এবং ইডিয়ম

  2. C++-এ ইউনারি অপারেটর (Unary Operators)

  3. C++-এ বিটওয়াইজ অপারেটরসমূহ

  4. C++-এ রিলেশনাল অপারেটর