关于 C++ 中的委托

About delegates in c++

本文关键字:C++ 关于      更新时间:2023-10-16

如何将方法的参数指定为实现特定接口的任何类?

这在目标c中相当常见。

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

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

我们无法实例化此类。 它实际上是一个接口。 然后,您可以从中派生具体类。

如果你有一个名为 Base 的"接口"或抽象基类,那么一个可以接受任何实现该接口的对象的函数将如下所示:

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