2012-08-12 44 views
0

如何将方法的参数指定为实现特定接口的任何类?关于C++中的代表

这在目标c中很常见。

+0

在C++中没有接口,所以这个问题没有任何意义。你可以发布你想要工作的示例代码吗? – Mat 2012-08-12 16:21:55

+0

@mat - C++有一个公认的接口概念 - 纯虚拟方法。 – 2012-08-12 16:22:32

+0

你想知道函数指针吗? – 2012-08-12 16:23:15

回答

0

如果你有一个“界面”或者叫Base抽象基类,然后一个函数,它可以接受任何对象实现该接口看起来像:

void fn(Base& obj) { 
    /*use Base functions on obj...*/ 
} 
3

有标准C++没有接口,但我们可以很容易地模拟它们:

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

我们没有办法实例化这个类。它实际上是一个接口。然后你可以从中得到具体的类。