Interface in cpp

Interface in cpp

本文关键字:cpp in Interface      更新时间:2023-10-16

我想在cpp中创建接口,以便任何类实现该类,然后该类必须实现父类的函数。如果所有的函数都没有实现,那么它必须显示错误。

class parent {   // interface class
   public :
      virtual void display();
}
class base : public parent {
    void display(); // this method must be implemented in this class 
}

使用纯虚成员函数:

virtual void display() = 0;

这使得类是抽象的(你不能创建它的实例),任何非抽象的派生类都必须实现这样的函数。

这里有一个维基百科的链接,有一个更正式的定义:http://en.wikipedia.org/wiki/Virtual_function Abstract_classes_and_pure_virtual_functions

就一个改动

class parent {   // interface class
   public :
      virtual void display() = 0;
}
在c++中称为纯虚函数。

您可以使用抽象类(或纯虚拟类):

class AB {
public:
    virtual void f() = 0;
};

抽象类可以用于java/c#中类似CPP的接口,尽管它们在编译器的角度不同。