সি ++ তে কীভাবে ফাংশন ওভারলোডিং এবং ওভাররাইডিং কার্যকর করা যায়?



এই নিবন্ধটি আপনাকে ফাংশন ওভারলোডিং এবং সি ++ এ ওভাররাইডিংয়ের সাথে পরিচয় করিয়ে দেবে যা ওওপিএসের দুটি অত্যন্ত গুরুত্বপূর্ণ ধারণা।

সি ++ হ'ল একটি প্রকৃতিতে এবং এটি বিভিন্ন বৈশিষ্ট্য নিয়ে গর্ব করে। এই অধিবেশনে আমরা কীভাবে সি ++ এ ফাংশন ওভারলোডিং এবং ফাংশন ওভাররাইড কার্যকর করতে হবে তা নিয়ে আলোচনা করব।

নিম্নলিখিত পয়েন্টারগুলি এই নিবন্ধে কভার করা হবে,





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

ফাংশন ওভারলোডিং



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

উদাহরণ স্বরূপ:

কিভাবে প্রোগ্রাম জাভা শেষ
যোগফল (int a, float b) যোগফল (int a, int b) যোগফল (int a, int b, int c)

এখানে, একই নামের সাথে তিনটি ফাংশন রয়েছে তবে কেবলমাত্র তাদের মধ্যে পার্থক্যগুলি হ'ল প্যারামিটারগুলি প্রতিটির উপরে আলাদা। সুতরাং, পাস হওয়া পরামিতিগুলির উপর নির্ভর করে একটি ফাংশন বলা হয়।



যদি ফাংশনগুলির রিটার্নের ধরণগুলি পৃথক হয় তবে এটি অবৈধ বলে বিবেচিত হবে।

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

ফাংশন ওভার লোডিংয়ের জন্য নমুনা কোড

নেমস্পেসের সাথে এসটিডি ক্লাস সংযোজন using সর্বজনীন: অন্তর্ভুক্ত করুন একটি চকচকে< 

আউটপুট

আউটপুট- ফাংশন ওভারলোডিং এবং সি ++ - এডুরেকাতে ওভাররাইডিং

ব্যাখ্যা

উপরের প্রোগ্রামে, অতিরিক্ত ক্লাসে আমাদের দুটি ফাংশন রয়েছে। দুজনের নাম অ্যাড। একটিতে 2 টি প্যারামিটার এবং অন্যটিতে 3 টি প্যারামিটার রয়েছে।

মূল ফাংশনে, আমরা শ্রেণি সংযোজনের একটি অবজেক্ট তৈরি করি যা a। আমরা যথাক্রমে 2 এবং 3 পরামিতি যুক্ত অ্যাড ফাংশনগুলিকে কল করি এবং ফাংশনগুলি অ্যাড বলা হয় এবং তারা সংযোজন সম্পাদন করে।

জাভাতে একটি প্রোগ্রাম বন্ধ করুন

ফাংশন ওভারলোডিং এভাবে হয়।

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

ফাংশন ওভাররাইডিং

যখন ডেরাইভেড ক্লাসে বেস ক্লাসের ফাংশন হিসাবে একই নামে একটি ফাংশন থাকে, তখন তাকে ডাকা হয় ফাংশন ওভাররাইডিং। উভয় ফাংশনের উভয় শ্রেণিতে একই প্যারামিটার থাকতে হবে।

ফাংশন ওভাররাইডিংয়ের জন্য নমুনা কোড

# নেমস্পেস স্ট্যান্ড ক্লাস বেসক্লাস ব্যবহার করে অন্তর্ভুক্ত করুন {সর্বজনীন: শূন্যতা বিহীন () {cout<<'Parent Class Function' } } class DerivedClass: public BaseClass{ public: void disp() { cout<<'Child Class Function' } } int main() { DerivedClass obj = DerivedClass() obj.disp() return 0 } 

আউটপুট:

ব্যাখ্যা:

উপরের প্রোগ্রামে, আমরা উত্পন্ন এবং বেস শ্রেণিতে একই নাম সহ বেসিক ফাংশনটি প্রদর্শন করি। এখানে অবজেক্টটি উদ্ভূত শ্রেণীর তৈরি হয়েছে সুতরাং যখন আমরা কেবল প্রদর্শন করি তখন শিশু শ্রেণীর অবজেক্ট প্রদর্শিত হয়।

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

ওভাররাইডিং সম্পাদনের আদেশ

কোডটি বিবেচনা করুন:

# নেমস্পেস স্ট্যান্ড ক্লাস বেসক্লাস ব্যবহার করে অন্তর্ভুক্ত করুন {সর্বজনীন: শূন্যতা বিহীন () {cout<<'Function of Parent Class' } } class DerivedClass: public BaseClass{ public: void disp() { cout<<'Function of Child Class' } } int main() { BaseClass obj = DerivedClass() obj.disp() return 0 } 

আউটপুট:

ব্যাখ্যা:

উপরের প্রোগ্রামে, আমরা উত্পন্ন এবং বেস ক্লাসে একই নাম সহ বেসিক ফাংশনটি প্রদর্শন করি। এখানে, পূর্ববর্তী প্রোগ্রাম থেকে একমাত্র পার্থক্য। আমরা শিশু শ্রেণির অবজেক্টটি তৈরি করি। চাইল্ড ক্লাস অবজেক্টকে বেস ক্লাসের রেফারেন্স দেওয়া হয়। এটি অন্য পদ্ধতি ব্যবহার করেও করা যেতে পারে,

বাক্য গঠন

অভিভাবক_ক্লাস_নাম :: ফাংশন ()

উপরের উদাহরণে, আমরা এটি হিসাবে ব্যবহার করি,

একটি সম্পর্ক জাভা হয়
বেসক্লাস :: ডিসপ্লে ()

এটি ওভাররাইডের আরেকটি উপায়।

ফাংশন ওভারলোডিং ভিএস ফাংশন ওভাররাইডিং

ফাংশন ওভারলোড ফাংশন ওভাররাইড
সুযোগ একইসুযোগটি আলাদা
স্বাক্ষর পৃথক হতে হবে (উদা: পরামিতি)স্বাক্ষরগুলি অবশ্যই একই হতে হবে
ওভারলোডিং কার্যের সংখ্যাশুধুমাত্র একটি ওভাররাইডিং ফাংশন সম্ভব
উত্তরাধিকার ছাড়াই ঘটতে পারেএটি মূলত উত্তরাধিকারের কারণে ঘটে

সুতরাং আমরা ‘ফাংশন ওভারলোডিং এবং সি ++ এ ওভাররাইডিং’ শীর্ষক এই নিবন্ধটির শেষে এসেছি। আপনি যদি আরও শিখতে চান তবে এটি দেখুন এডুরেকা, একটি বিশ্বস্ত অনলাইন লার্নিং সংস্থা। এডুরেকার জাভা জে 2 ইই এবং এসওএ প্রশিক্ষণ এবং শংসাপত্রের কোর্সটি হিবারনেট ও স্প্রিংয়ের মতো বিভিন্ন জাভা ফ্রেমওয়ার্কের পাশাপাশি আপনাকে মূল এবং উন্নত জাভা উভয় ধারণার জন্য প্রশিক্ষণের জন্য তৈরি করা হয়েছে।

আমাদের জন্য একটি প্রশ্ন আছে? দয়া করে এই ব্লগের মন্তব্য বিভাগে এটি উল্লেখ করুন এবং আমরা যত তাড়াতাড়ি সম্ভব আপনার কাছে ফিরে আসব।