c++ - 第三方类添加静态成员变量

标签 c++ inheritance boost boost-propertytree

我正在为一个项目使用 Boost.Property_Tree,我想向它添加一些功能。我想添加一个“fromFile”静态成员变量来确定文件类型,然后使用正确的解析器。在我的项目中,目前我是这样得到它的。

typedef boost::property_tree::ptree ConfigNode;

然后我有另一个名为 ConfigLoader 的类,我一直使用它来加载文件。不过,我想将一个函数添加到 ConfigNode 类中。我需要编译器将 ConfigNode 视为一个 boost::property_tree,但我想添加一个静态函数。有办法做到这一点吗?

最佳答案

没有。没有干净的方法来做到这一点。

你有两个选择:

  1. 在类之外完全声明您的函数和变量(例如,在另一个类中或在某些命名空间中全局声明)。
  2. 子类 boost::property_tree,添加您的静态成员。

关于c++ - 第三方类添加静态成员变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3435601/

相关文章:

c++ - 将 ruby​​ 哈希转换为 c++ 映射

java - 在Java中访问子类中父类(super class)的 "final"字段(并更新它们)

c++ - 子类无法访问父成员

c++ - Boost 调试和发布库是否相同?

c++ - 使用 clang++ 3.1 构建 Boost 1.50.0

c++ - 具有零参数的模板说明符

c++ - 带参数包的 std::min

c++ - 将数字与 NaN 进行比较的结果是什么?

c++ - 派生类的头文件中声明的字符串在父类(super class)中为空

c++ - 如何制作解析指针的存档?