0

メソッドのパラメーターを、特定のインターフェースを実装する任意のクラスとして指定するにはどうすればよいですか?

これは、目的 c ではかなり一般的です。

4

2 に答える 2

3

標準 C++ にはインターフェイスはありませんが、非常に簡単にシミュレートできます。

class IComparable
{
protected:
    IComparable() {};
public:
    virtual ~IComparable() = 0 {};
    virtual int Compare(const IComparable& other) const = 0;
};

このクラスをインスタンス化する方法はありません。これは実質的にインターフェースです。次に、これから具体的なクラスを派生させることができます。

于 2012-08-12T16:29:01.400 に答える
0

と呼ばれる「インターフェイス」または抽象基本クラスがあるBase場合、そのインターフェイスを実装する任意のオブジェクトを受け入れることができる関数は次のようになります。

void fn(Base& obj) {
    /*use Base functions on obj...*/
}
于 2012-08-12T16:24:11.530 に答える