接口与c++中的java一样

Interface as in java in c++?

本文关键字:java 一样 中的 c++ 接口      更新时间:2023-10-16

可能重复:
如何在C++中声明接口?

有人问我一个问题:"在C++中,没有像java中那样的接口。但如果你能在C++中实现它们,你会怎么做?">

如何?我会用虚拟方法做一个类。这看起来像java中的接口,或者?

感谢

您可以使用多重继承在C++中创建接口。

您创建了一个纯虚拟的基类(所有函数均为0(,然后您的类从中继承。

多重继承意味着您可以从其中任意多个继承。

// Interface definition
class ISomethingable
{
public:
    virtual ~ISomethingable() {}
    virtual void DoSomething() = 0;    
}
// Your code
class MyClass : public ISomethingable
{
public:
    void DoSomething()
    {
         // Do something concrete.
    }
}

另请参阅:如何在C++中声明接口?

是的,只需要创建一个没有成员变量和纯虚拟函数的类。

C++中的接口将是一个抽象基类,不能从中实例化。与java接口不同,它们实际上可以具有部分实现和成员变量。