gpt4 book ai didi

c++ - 从静态库中公开一个类

转载 作者:太空宇宙 更新时间:2023-11-04 12:15:49 25 4
gpt4 key购买 nike

我正在开发一个解析器库,我在其中解析数据并将其存储在不同的数据结构中。该库的设计使其具有 DataProvider、Parser 和 DataStore 类。 DataStore 是 DataProvider 类的一个成员。消费者需要调用 DataProvider 中的函数来解析文件并从库中检索数据。

现在,如果我公开 DataProvider 类,那么我还需要公开 DataStore 类,它向消费者提供实现细节。公开 DataProvider 类的功能的替代方法是什么?我是否应该公开 LoadFile、GetRecords 等函数并在 cpp 中全局创建 DataProvider 对象?

最佳答案

如果用户不必直接使用DataStore,最好不要公开它。您可以通过创建一个“接口(interface)”- 仅具有公共(public)纯虚函数的抽象 DataProvider 来实现这一点。在内部,有一个继承自 DataProviderDataProviderImp,并包含作为实际实现一部分的所有必需定义和成员。

让用户只使用抽象类。这样,您只需将最少的依赖项拖到您的 API 中。

关于c++ - 从静态库中公开一个类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7752617/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com