কেন একই শ্রেণীর অবজেক্টের একে অপরের ব্যক্তিগত ডেটাতে অ্যাক্সেস থাকে?
class TrivialClass {
public:
TrivialClass(const std::string& data) :
mData(data) {};
const std::string& getData(const TrivialClass& rhs) const {
return rhs.mData;
};
private:
std::string mData;
};
int main() {
TrivialClass a("fish");
TrivialClass b("heads");
std::cout << "b via a = " << a.getData(b) << std::endl;
return 0;
}
এই কোডগুলি কাজ করে। অবজেক্ট এ এর পক্ষে অবজেক্ট বি থেকে প্রাইভেট ডেটা অ্যাক্সেস করা এবং এটি ফিরিয়ে দেওয়া পুরোপুরি সম্ভব। কেন এই তাই হতে হবে? আমি মনে করি যে ব্যক্তিগত তথ্য ব্যক্তিগত হয়। (আমি পিপল আইডিয়ামে অনুলিপি নির্মাণকারীদের বোঝার চেষ্টা করেই শুরু করেছিলাম, কিন্তু তখন আমি আবিষ্কার করেছি যে আমি এমনকি এই সাধারণ পরিস্থিতিটি বুঝতে পারি নি))