Multiple inheritance in C++ | Diamond Problem

C++ এ একই সাথে একের অধিক ক্লাসকে inherit করা যায় অর্থাৎ multiple inheritance সুবিধা আছে। অসতর্ক থাকলে কোন কোন ক্ষেত্রে এই সুবিধাও অসুবিধার কারন হয়ে যেতে পারে। আর এই অসুবিধা এড়ানোর জন্য অনেক প্রোগ্রামিং ল্যাঙ্গুয়েজ-ই multiple inheritance সাপোর্ট দেই না।  যারা জাভাতে কাজ করেছেন তাদের কাছে হয়ত multiple inheritance ব্যপারটাই নতুন।

পড়তে থাকুন Multiple inheritance in C++ | Diamond Problem

Operator Overloading | ইউনারি অপারেটর | পর্ব ২

গত পর্বে (Operator Overloading – বেসিক ধারণা) দেখেছি কিভাবে বাইনারি অপারেটর ওভারলোড করা যায়। বাইনারি অপারেটর ওভারলোড এর ক্ষেত্রে আর্গুমেন্ট হয় একটা, কারণ অপারেটর এর বাম পাশের অপারেন্ডটি ইম্লিসিটলি this পয়েন্টার এর মাধ্যমে পাস হয়। এর ডান পাশের অপারেন্ড পাস হয় আর্গুমেন্ট হিসেবে।

এখন আসি ইউনারি অপারেটর কথায়। ইউনারি অপারেটর (যেমন ++ , – – ) এ অপারেন্ড থাকে একটা। তারমানে যখন একটি মাত্র অপারেন্ড ফাংশান কল করে তখন সেটিই ইম্লিসিটলি this পয়েন্টার এর মাধ্যমে পাস হয়। এই কারণে ইউনারি অপারেটর ওভারলোডিং এর সময় সাধারণত কোন আর্গুমেন্ট থাকে না।

পড়তে থাকুন Operator Overloading | ইউনারি অপারেটর | পর্ব ২

Operator Overloading | বেসিক ধারণা | পর্ব ১

Operator Overloading সি++ এর অন্যতম একটি শক্তিশালী ফিচার। সি++ এ ফাংশন ওভারলোডিং এর মত অপারেটরও ওভারলোড করা যায়। আপনি যদি সি++ এর বেসিক জিনিসপত্র ইতিমধ্যেই জানেন তাহলে আমি আশা করছি এরিথমেটিক, বিটওয়াইজ, লজিকাল, এসাইনমেন্ট ইত্যাদি অপারেটরের সাথে আপনি পরিচিত। এগুলো সি++ এর বিল্ট-ইন অপারেটর। এই পর্বে আমরা দেখব কিভাবে একটি নির্দিষ্ট ক্লাস এর জন্য সি++ এর ডিফল্ট অপারেটরকে ওভারলোড করে, প্রোগ্রামার এর ইচ্ছামত ফাংশানালিটি যোগ করা যায়।

পড়তে থাকুন Operator Overloading | বেসিক ধারণা | পর্ব ১