Boost総合スレ part7at TECHBoost総合スレ part7 - 暇つぶし2ch■コピペモード□スレを通常表示□オプションモード□このスレッドのURL■項目テキスト200:デフォルトの名無しさん 09/03/02 03:21:34 >198 struct MyModule { void extend_function() { // …… }; }; class MyClass : public MyModule {}; 派生クラスを操作する必要がある場合は template<typename T> struct MyPolicy { MyPolicy& self() { return *(static_cast<MyPolicy*>(this)); }; void extend_function() { // …… }; }; class MyClass : public MyPolicy<MyClass> {}; 201:200 09/03/02 03:22:29 あ、間違えた template<typename T> struct MyPolicy { MyPolicy& self() { return *(static_cast<T*>(this)); }; void extend_function() { // …… }; }; 202:デフォルトの名無しさん 09/03/02 04:05:44 >>201 selfの戻り値もT&だろ。 203:デフォルトの名無しさん 09/03/02 09:50:38 大元のclass MyClassの記述を変更せずに、という(多分)そもそもの目的に外れるのでは。 何か便利な文字列操作メソッドを追加したいとかで使うんだろうけど、 std::string弄るわけにはいかないし。 次ページ最新レス表示レスジャンプ類似スレ一覧スレッドの検索話題のニュースおまかせリストオプションしおりを挟むスレッドに書込スレッドの一覧暇つぶし2ch