std::basic_ios
জনসাধারণের নির্মাতা রয়েছে :
explicit basic_ios (std::basic_streambuf<CharT,Traits>* sb);
আইএমও, কোনও ক্লাসের পাবলিক কনস্ট্রাক্টর থাকার একমাত্র কারণ হ'ল কোনও প্রোগ্রামে class শ্রেণীর একক উদাহরণ ব্যবহার করা। যদি কোনও শ্রেণি উপস্থিত থাকে তবে কেবলমাত্র অন্য শ্রেণিগুলি এর থেকে নেমে আসে (যেমনটি মনে হয় basic_ios
) শ্রেণীর নির্মাতা সমস্ত হওয়া উচিত protected
। এর নির্মাণকারীরা std::ios_base
সমস্ত সুরক্ষিত। তবে, কোনও কারণে, স্ট্যান্ডার্ডটির ডিজাইনারগণ basic_ios
জনসাধারণের এই এক নির্মাতা তৈরি করেছিলেন ।
basic_ios
বেশ কয়েকটি স্ট্রিম প্রকারের জন্য বেস বর্গ হিসাবে ব্যবহৃত হয় এবং আমি কোনও ব্যবহারের ক্ষেত্রে কল্পনা করতে পারি না যেখানে আপনার এমন একটি রয়েছে যা কমপক্ষে একটি basic_istream
বা নয় basic_ostream
। একটি আছে?
basic_ios
কর্টরটি আপনি করারbasic_streambuf*
আগে থেকেই প্রকাশ্যে এসেছিলusing B::B;
। আমি প্রত্যাশা করি যে পুরানো বাস্তবায়নগুলিতে সবেমাত্র একটি প্রক্সি কর্টর ছিল:A(int x) : B(x) {}
-B
এটির সিটার হলেও এটি কাজ করেprotected
।