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।