对于我的游戏,我有一个Packet类,它代表网络数据包,基本上由一组数据和一些纯虚函数组成
然后我想要从Packet派生类,例如:StatePacket,PauseRequestPacket等.这些子类中的每一个都将实现虚拟函数Handle(),当其中一个数据包时,它将被网络引擎调用.接收到它可以完成它的工作,几个get/set函数可以读取和设置数据数组中的字段.
所以我有两个问题:
如果有人想要任何澄清,请问.
- 谢谢
编辑:我对此不太满意,但这就是我所管理的:
Packet.h:http
:
//pastebin.com/f512e52f1 Packet.cpp:http
://pastebin.com/f5d535d19 PacketFactory.h:http
://pastebin.com/f29b7d637 PacketFactory.cpp:http://pastebin.com / f689edd9b
PacketAcknowledge.h:http://pastebin.com/f50f13d6f
PacketAcknowledge.cpp:http://pastebin.com/f62d34eef
如果有人有时间查看并提出任何改进建议,我会感激不尽.
是的,我知道工厂模式,但我如何编码它来构建每个类?一个巨大的转换声明?这也会重复每个类的ID(一次在工厂,一个在序列化器中),我想避免.