【发布时间】:2012-07-09 01:56:06
【问题描述】:
我有一个包含 100 个数据结构的 C 头文件。我想创建一个每个数据结构都继承自的超类。怎么做?我应该解析头文件吗?反射?
因为每个 C 数据结构都是公共类,所以我可以创建一个超类,然后……然后呢?我不应该手动进入并显式地使每个结构都从超类继承?
【问题讨论】:
-
你想解决什么真正的问题?
-
我有一个包含大量 C 数据结构的 API。它们通过“send_transaction (datastruct_nr41)”发送到服务器,这是一个 C 函数调用。现在我想做一个 C++ 应用程序。每个数据结构消息都会有一些常用功能(序列化、反序列化等)。所以我想我从每个 C 数据结构中创建一个类,具有一个公共超类,具有公共功能。这更清楚了吗?
-
@Brutalizer:如果不知道调用的是哪个派生类型,基类如何序列化?或者你的意思是只添加接口并在派生类型中实现它?如果您打算仅在派生类型上实现它,为什么不创建一个并行层次结构来存储 C 结构(组合)并实现函数?
-
我不懂并行层次结构。你有一些示例代码吗?我打算用工厂模式进行序列化。我从服务器得到一个二进制 blob,它是什么类型的数据结构?解决方案:gamedev.net/page/resources/_/technical/…
-
等等,你希望结构体从一个类继承,并且仍然能够通过 C 函数 (
send_transaction) 发送它们?
标签: c++ inheritance