কম্পিউটার

আপনার কখন C++ এ 'বন্ধু' ব্যবহার করা উচিত?


একটি ক্লাসের একটি বন্ধু ফাংশন সেই ক্লাসের সুযোগের বাইরে সংজ্ঞায়িত করা হয় তবে এটির ক্লাসের সমস্ত ব্যক্তিগত এবং সুরক্ষিত সদস্যদের অ্যাক্সেস করার অধিকার রয়েছে৷ যদিও বন্ধু ফাংশনগুলির প্রোটোটাইপগুলি ক্লাসের সংজ্ঞায় উপস্থিত হয়, বন্ধুরা সদস্য ফাংশন নয়৷

একটি বন্ধু একটি ফাংশন, ফাংশন টেমপ্লেট, বা সদস্য ফাংশন, বা একটি ক্লাস বা ক্লাস টেমপ্লেট হতে পারে, এই ক্ষেত্রে পুরো ক্লাস এবং এর সমস্ত সদস্য বন্ধু৷

কোনও ফাংশনকে ক্লাসের ফ্রেন্ড হিসেবে ঘোষণা করতে, ক্লাস ডেফিনিশনে ফাংশন প্রোটোটাইপের আগে কীওয়ার্ড ফ্রেন্ড দিয়ে নিচে লিখুন −

<প্রি>ক্লাস বক্স { দ্বিগুণ প্রস্থ; সর্বজনীন:দ্বিগুণ দৈর্ঘ্য; বন্ধু অকার্যকর প্রিন্ট প্রস্থ (বক্স বক্স); void setWidth(ডবল প্রস্থ);};

ClassTwo-এর সমস্ত সদস্য ফাংশনকে ClassOne-এর বন্ধু হিসাবে ঘোষণা করতে, ClassOne-এর সংজ্ঞায় নিম্নলিখিত ঘোষণাটি রাখুন

উদাহরণ

বন্ধু ক্লাস ক্লাস টু; উদাহরণস্বরূপ, #include  namespace ব্যবহার করে std;class Box { দ্বিগুণ প্রস্থ; সর্বজনীন:বন্ধু অকার্যকর প্রিন্ট প্রস্থ (বক্স বক্স); void setWidth( double width);};// Member function definitionvoid Box::setWidth( double wid ) { width =wid;}// Note:printWidth() কোন class.void printWidth( বক্স বক্স) এর সদস্য ফাংশন নয় { /* যেহেতু printWidth() বক্সের বন্ধু, এটি সরাসরি এই শ্রেণীর যেকোনো সদস্যকে অ্যাক্সেস করতে পারে */ cout <<"বক্সের প্রস্থ :" < 

আউটপুট

এটি আউটপুট দেবে −

বাক্সের প্রস্থ:10

যদিও ফাংশনটি ক্লাসের সদস্য ছিল না, এটি সরাসরি সেই ক্লাসের সদস্য ভেরিয়েবলগুলিতে অ্যাক্সেস করতে পারে। এটি নির্দিষ্ট পরিস্থিতিতে খুব দরকারী হতে পারে।


  1. আপনার পিসিতে কি রেডিবুস্ট ব্যবহার করা উচিত?

  2. আপনি কখন JavaScript Arrow Functions ব্যবহার করবেন না?

  3. এইচডিএমআই স্প্লিটার বনাম সুইচস:কখন আপনার সেগুলি ব্যবহার করা উচিত?

  4. আপনি স্কোপ বা ক্লাস পদ্ধতি ব্যবহার করা উচিত?