কম্পিউটার

C++ এ ফাংশন ওভারলোডিং এবং ওভাররাইডিংয়ের মধ্যে পার্থক্য


এই পোস্টে, আমরা C++ এ ফাংশন ওভারলোডিং এবং ফাংশন ওভাররাইডিংয়ের মধ্যে পার্থক্য বুঝতে পারব।

ওভারলোডিং

  • ওভারলোডিংয়ের সময় কোন কীওয়ার্ড ব্যবহার করা হয় না।

  • প্রোটোটাইপ শুধুমাত্র সংখ্যা বা প্যারামিটারের প্রকারের উপর ভিত্তি করে পৃথক হয়।

  • এটি কম্পাইলের সময় ঘটে।

  • কনস্ট্রাক্টর ওভারলোড হতে পারে।

  • ধ্বংসকারীকে ওভারলোড করা যাবে না।

  • এটি প্রারম্ভিক বাঁধাই অর্জন করতে ব্যবহার করা যেতে পারে।

  • কল করা ফাংশনের সংস্করণটি ব্যবহৃত হওয়া প্যারামিটারের সংখ্যা বা প্রকার দ্বারা নির্ধারিত হয়।

  • ফাংশনগুলি একই নাম, ভিন্ন সংখ্যা বা পরামিতির ধরন দিয়ে পুনরায় সংজ্ঞায়িত করা হবে।

ওভাররাইডিং

  • প্রোটোটাইপ জুড়ে একই থাকে।

  • এটি রানটাইমে ঘটে।

  • ভার্চুয়াল ফাংশন ওভাররাইড করা যাবে না।

  • ধ্বংসকারীকে ওভাররাইড করা যেতে পারে।

  • ওভাররাইডিং লেট বাইন্ডিং নামেও পরিচিত।

  • যে ফাংশনটি ওভাররাইড করা হবে সেটি বেস ক্লাসে 'ভার্চুয়াল' কীওয়ার্ডের আগে থাকে।

  • ক্লাসের অবজেক্টের ঠিকানা পয়েন্টারকে বরাদ্দ করা হয় যার ফাংশন পয়েন্টার দ্বারা কল করা হয়।

  • যখন ফাংশনটি সংজ্ঞায়িত করা হয়, তখন এটি প্রধান শ্রেণিতে 'ভার্চুয়াল' কীওয়ার্ড দ্বারা পূর্বে থাকে।

  • 'আউট' কীওয়ার্ড ব্যবহার করে প্রাপ্ত শ্রেণীতে একই ফাংশন পুনরায় সংজ্ঞায়িত করা হয়েছে।


  1. C++ এ স্ট্রিং এবং char[] প্রকারের মধ্যে পার্থক্য

  2. C++ প্রোগ্রামে 'struct' এবং 'typedef struct' এর মধ্যে পার্থক্য?

  3. C++ এ নতুন অপারেটর এবং নতুন অপারেটরের মধ্যে পার্থক্য?

  4. C# এ পদ্ধতি এবং ফাংশনের মধ্যে পার্থক্য