plustreeの日記: 謎の挙動
日記 by
plustree
良くあるように、「インタフェース」と「クラス」を分けて、とあるクラスを定義する。
class INTERFACE1
{
};
class PUBLIC_CLASS1 : public INTERFACE1
{
};
もう一通りインタフェースとクラスを分けて定義するが、こちらは上記のインタフェース/クラスを返すメソッドも定義する。
class INTERFACE2
{
public:
virtual INTERFACE1 *f() = 0;
};
class PUBLIC_CLASS2 : public INTERFACE2
{
public:
virtual PUBLIC_CLASS1 *f();
};