【初心者歓迎】C/C++室 Ver.64【環境依存OK】at TECH
【初心者歓迎】C/C++室 Ver.64【環境依存OK】 - 暇つぶし2ch12:デフォルトの名無しさん
09/02/10 19:50:17
>>9
インタフェースクラスを作って、
実際にはその実装クラスを new して返す
static メンバ関数を用意する、という手法もある。

// IA.h
class IA {
public:
 static IA* Create();
 virtual ~IA() { }
 virtual void Hoge() = 0;
};

// IA.cpp
#include "IA.h"

class A : public IA {
public:
 virtual void Hoge() { /* ここで実装 */ }
};

IA* IA::Create() { return new A; }

こっちはメンバへのアクセスが楽だという利点と、
public メンバ関数を追加するのが面倒臭いという欠点がある。


次ページ
続きを表示
1を表示
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch