Interface as in java in c++?
本问题已经有最佳答案,请猛点这里访问。
Possible Duplicate:
How do you declare an interface in C++?
有人问我一个问题:"在C++中,没有像Java那样的接口。但是事件,然后你可以在C++中实现它们,你会怎么做?"
怎样?我会用虚拟方法做一个类。这看起来像Java中的接口?
谢谢你
可以使用多重继承在C++中创建接口。
您创建了一个纯虚拟的基类(所有函数都为0),然后您的类从此类继承。
多重继承意味着您可以从这些继承中任意多个继承。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | // 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接口不同,它们实际上可以具有部分实现和成员变量。