আমরা জানি যে ফাংশন ওভারলোডিং হল অবজেক্ট ওরিয়েন্টেড ল্যাঙ্গুয়েজের অন্যতম প্রধান বৈশিষ্ট্য। আমরা ফাংশনগুলির একই নাম ব্যবহার করতে পারি; যার প্যারামিটার সেট ভিন্ন। এখানে আমরা দেখব কিভাবে C++ ক্লাসের কনস্ট্রাক্টর ওভারলোড করা যায়। কনস্ট্রাক্টর ওভারলোডিং এর কিছু গুরুত্বপূর্ণ ধারণা আছে।
- ওভারলোডেড কনস্ট্রাক্টরদের অবশ্যই একই নাম এবং ভিন্ন সংখ্যক আর্গুমেন্ট থাকতে হবে
- সংরক্ষণকারীকে বলা হয় আর্গুমেন্টের সংখ্যা এবং প্রকারের উপর ভিত্তি করে।
- অবজেক্ট তৈরি করার সময় আমাদের আর্গুমেন্ট পাস করতে হবে, অন্যথায় কনস্ট্রাক্টর বুঝতে পারবে না কোন কনস্ট্রাক্টর বলা হবে।
উদাহরণ
#include <iostream> using namespace std; class Rect{ private: int area; public: Rect(){ area = 0; } Rect(int a, int b){ area = a * b; } void display(){ cout << "The area is: " << area << endl; } }; main(){ Rect r1; Rect r2(2, 6); r1.display(); r2.display(); }
আউটপুট
The area is: 0 The area is: 12