cpp 中类似 Java 的类类
A java-like class class in cpp
我想编写一个支持多种命令的程序。
为了使它通用且易于扩展以后的新命令,我想为每个命令编写一个类(具有自己的处理),并使用处理程序函数调用基"命令"类。
我知道在 Java 中有一个类可以帮助解决这样的事情 - 在流上决定它正在处理的类的类型。
CPP有类似的机制吗?如果是这样,它是什么以及如何使用它?
如果没有,我该怎么做才能使其易于扩展?
多谢。
您可以使用纯虚拟方法实现 Command 类。
http://www.exforsys.com/tutorials/c-plus-plus/c-pure-virtual-function-and-base-class.html
虽然你可以在 Java 中使用 Class 类来决定流程,但最好使用多态性 - 它使类无需修改即可扩展(SOLID 中的"O")。
C++也是如此。您可以使用 RTTI,但虚拟方法允许您使用命令扩展类而无需修改它。
摘自Gamma等人的"设计模式":
这种模式的关键是抽象的 命令类,它声明 用于执行操作的接口。在 它最简单的形式是这个接口 包括一个抽象的执行 操作。
你可以使用RTTI,但我建议你找到另一种方法。
相关文章:
- Android Java USB for native cpp
- CPP和Java提供不同的输出
- 在Java项目中使用CPP和OpenCV项目的.so文件
- 我可以通过CPP程序中的数据库调用调用Java程序
- CMAKE 将 java 库添加到 cpp 项目中
- 如何从 Java 调试 CPP DLL
- 使用 JNI 从 cpp 调用 java 方法时出现异常
- 如何在 Java 中加载 cpp 库时避免异常
- 通过字符串将wav数据从Java发送到Cpp
- Android NDK调用java方法表单cpp
- 从 CPP 到 Java 的转换 (dp =1)
- Java(或Cpp)某处阻塞
- 通过套接字从Java向CPP发送屏幕截图-发出接收图像
- 在openJDK构建系统中,unsafe.cpp如何链接到unsafe.java
- 使用c++类在黑莓或转换cpp文件到java
- 请解释为什么列表<A>投射到 List<A.super>在 Cpp、Java 和 C# 中允许或不允许
- 我如何发送cpp回调函数指针到java
- 存储Cpp中可读的java字节数组
- cpp 中类似 Java 的类类
- 将现有的C++(.h 和 .cpp)文件转换为 Java for Android