2010-08-08 62 views
1

我正在使用Boost.Property_Tree作为项目,我想向其中添加一小部分功能。我想添加一个“fromFile”静态成员变量,它将找出文件类型,然后使用正确的解析器。在我的项目中,这是我目前的方式。将静态成员变量添加到第三方类

typedef boost::property_tree::ptree ConfigNode; 

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

+0

为什么你需要一个静态成员函数?为什么不让它成为非成员函数? (或者我错过了什么?) – 2010-08-08 18:55:57

+0

它主要是为了组织。 typedef使代码更具可读性,我不喜欢为该组织需要第二类。 – 2010-08-08 19:00:28

回答

1

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

你有两个选择:

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