【发布时间】:2018-09-07 20:12:20
【问题描述】:
在一些设计模式中,建议编写一个接口类,示例是用Java给出的。如何用 C++ 编写接口类?
【问题讨论】:
在一些设计模式中,建议编写一个接口类,示例是用Java给出的。如何用 C++ 编写接口类?
【问题讨论】:
这是一个非常广泛的问题。 C++ 中只有类,这取决于你给它们的方法,它们是否是抽象的。
在 C++ 中最适合 Java 接口的是一个没有数据成员且只有公共纯虚方法的类,这意味着在其声明的末尾有一个 = 0。
当一个类不能被实例化时,它就是抽象的。当一个类至少有一个纯虚函数时,它不能被实例化。因此,根据前面的定义,接口是 C++ 中抽象类的特例。
C++ 类可以从任意数量的基类派生,但就像在 Java 中一样,C++ 程序员通常仅从一个基类派生,该基类实际上具有其方法的实现。 (请注意,纯虚函数可能具有在源文件中的类之外定义的实现,但这是一种不常见的边缘情况。)
【讨论】:
c++没有接口,java没有多重继承。
【讨论】: