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

সি++-এ অবজেক্ট স্লাইসিং (Object Slicing)


অবজেক্ট স্লাইসিং হলো একটি পরিস্থিতি যা তখন ঘটে যখন আপনি একটি ডেরাইভড ক্লাসের অবজেক্টকে একটি বেস ক্লাসের ইনস্ট্যান্সে অ্যাসাইন করেন। এর ফলে ডেরাইভড ক্লাসের মেথড এবং সদস্য ভেরিয়েবলগুলো হারিয়ে যায়। এটিকে তথ্যের কেটে যাওয়া বা "স্লাইসড অ্যোয়" বলা হয়।

উদাহরণ

class Foo {
    int a;
};
class Bar : public Foo {
    int b;
}

যেহেতু Bar ক্লাস Foo ক্লাস থেকে ইনহেরিট করেছে, তাই এখন এর দুটি সদস্য ভেরিয়েবল রয়েছে: a এবং b। যদি আপনি Bar টাইপের একটি ভেরিয়েবল bar তৈরি করেন এবং তারপর Foo টাইপের একটি ভেরিয়েবল foo এ bar অ্যাসাইন করেন, তবে প্রক্রিয়ায় সদস্য ভেরিয়েবল b হারিয়ে যাবে।

Bar bar;
Foo foo = bar;

এই ক্ষেত্রে, bar-এর b সম্পর্কিত তথ্য হারিয়ে যায়। এটিকে সদস্য স্লাইসিং (member slicing) বলা হয়।

  1. C++ বা Java-এ অবজেক্ট স্লাইসিং (Object Slicing) কী?

  2. C++-এ অবজেক্ট-ওরিয়েন্টেড প্রোগ্রামিং (OOP) কীভাবে শুরু করবেন?

  3. C++-এ স্ট্যান্ডার্ড ইনপুট স্ট্রিম (cin)

  4. C++-এ Python অবজেক্ট কীভাবে ব্যবহার করবেন?