Visual Studio IDE環境at TECHVisual Studio IDE環境 - 暇つぶし2ch■コピペモード□スレを通常表示□オプションモード□このスレッドのURL■項目テキスト23:デフォルトの名無しさん 05/05/25 13:40:51 自分で作ったクラスの継承だといいんだけど、 STLのクラスを継承した場合に、ちゃんと入力候補が表示されんとです…。 class MyStream : public ifstream{ public: void f(); }; MyStream s; 「s.」で表示される入力候補が f だけなのです。 ifstreamのメンバを表示してほしいのですが、なんとかなりませんか。 Visual C++ .NET 2003 です。 24:デフォルトの名無しさん 05/05/25 17:10:38 >>23 こうしたら出た。 #include <fstream> #include <memory> template <typename CH, typename TR = std::char_traits<CH> > class basic_MyStream : public std::basic_ifstream<CH, TR> { public: void f(); }; typedef basic_MyStream<char> MyStream; typedef basic_MyStream<wchar_t> wMyStream; MyStream s; 25:デフォルトの名無しさん 05/05/25 19:30:55 >>24 おぉ!ちょと感動しました。ありがとうございます。 これをヒントにいろいろ試行錯誤したところ、 自分的にはこんな形に落ち着きました。 #include <fstream> #ifdef _NODEFINE_ typedef basic_ifstream<char, char_traits<char> > ifstream; #endif class MyStream : public ifstream { public: void f(); }; MyStream s; _NODEFINE_ は定義しないようにしておきます。 はじめは #if 0 にしたんですけど、これだとインタプリタが賢すぎて(?) 4行目が認識されなかったので、コンパイル時じゃないと判定が付かない #ifdef にしました。 こんな騙しが必要なのはちょっぴりやるせないけど、入力候補が出ること自体ありがたいので これ以上文句言わないぜ(・Д・) 次ページ最新レス表示レスジャンプ類似スレ一覧スレッドの検索話題のニュースおまかせリストオプションしおりを挟むスレッドに書込スレッドの一覧暇つぶし2ch