c++ - C++ 中一个类的多个实现

标签 c++ class object abstraction

我想知道以下是否可以用 C++ 完成。

我想要做的是拥有一组类,它们都具有相同的公共(public)部分 - 即相同的公共(public)变量和相同的集合方法 - 但是,这组类中的不同类在 私有(private) 部分中会有所不同 - 也就是说,它们可以具有不同的私有(private)变量-- 虽然该组的所有类的方法都是统一的,但这些方法的实现可能会有所不同。

还有一个额外的位 - 我想知道 C++ 是否支持 - 我希望它是这样的,以便属于该组中的类的所有对象实际上都是相同的数据类型。也就是说,程序在类内部之外的任何部分都不会区分一个类的对象和另一个类的对象——前提是这两个类都是同一组的一部分。

采用该类组中的一个类作为参数的函数可以采用该类组中的任何类作为该参数。引用该类组的一个类的对象的变量可以引用该类组的任何类的对象。

为什么我想知道这是否可以做到?因为如果可以的话,我可以使用这样一组类作为抽象层。

最佳答案

看起来你是关于接口(interface)的。嗯,没有纯粹用 C++ 实现的。 在 C++ 中,您可以创建 pattern-simulation of interface .

您还可以发现阅读 differences between intefraces and abstract classes 很有用。在 C# 中。

关于c++ - C++ 中一个类的多个实现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21060099/

相关文章:

javascript - 我声明这个 Javascript 变量的方式有什么问题?

c# - 将字节数组的 C++ 结构转换为 C#

c++ - 在 Silverlight for Windows Embedded 中实现图形硬件加速

c++ - 温度转换程序c++

php - 在 PHP 中,使用 -> 解引用器调用静态类函数是否有问题

java - 为什么 Java 代码在移入函数时不起作用?

c++ - 制作动态对象数组问题?

c# - GUI 编程 c++ 或 c#

java - 显示来自 Java 类的 Toast 通知

Javascript:有没有办法使对象属性只读