আমি সদস্য এক্সেস অপারেটরদের বাদে, সবচেয়ে অপারেটর ওভারলোডিং বুঝতে ->
, .*
,->*
ইত্যাদি
বিশেষত, এই অপারেটর ফাংশনগুলিতে কী পাস হয় এবং কী ফিরিয়ে দেওয়া উচিত?
অপারেটর কীভাবে কাজ করবে (উদাহরণস্বরূপ operator->(...)
) কী সদস্যকে রেফার করা হচ্ছে? এটা কি জানতে পারে? এটি এমনকি জানা প্রয়োজন?
সবশেষে, এমন কোনও প্রতিবন্ধক বিবেচনা আছে যা বিবেচনায় নেওয়া দরকার? উদাহরণস্বরূপ, operator[]
কোনও কিছু ওভারলোড করার সময় , সাধারণত আপনার কনস্ট এবং নন-কনস্ট উভয় সংস্করণ প্রয়োজন need সদস্য অ্যাক্সেস অপারেটরদের কি কনস্ট এবং নন-কনস্ট্যান্ট সংস্করণগুলি প্রয়োজন?
const
এবং অ- const
সংস্করণগুলির প্রয়োজনoperator->
হয় না , তবে উভয় সরবরাহ করা কার্যকর হতে পারে।
->*
এবং .*
। আসলে এটি তাদের উল্লেখও করে না! আমি মনে করি এফএকিউতে থাকতে এগুলি বিরল, তবে আমি এ প্রশ্নটি খুব খুশিভাবে লিঙ্ক করেছি। এফএকিউ এর দ্বিপ হিসাবে এটি বন্ধ করবেন না দয়া করে!