0

我正在创建一个小型事实网站作为实验,以使用 cppcms 从 C++ 创建一个非常高效的网站。

我在决定如何为要访问的模板创建 base_content 类时遇到问题。

在我的类结构中,我创建了一个容器类,称为 Fact,它使用 getter 和 setter 来管理变量,继承自 IContainer。

为了避免将数据复制到单独的类中,我必须继承 IContainer 中的 cppcms::base_content 并在 Fact 中公开私有变量(以便模板可以直接访问它们)。

有没有办法我可以从单独的内容类创建和访问指向容器类中数据的指针,或者(更好)从模板中调用 getter(返回 const int 或 const string),使用充当内容类的事实对象。

如果需要澄清,请询问。

4

1 回答 1

1

为什么不在模板中使用 getter:

class Fact : public cppcms::base_content {
public:
      std::string get_foo() const;
      void set_foo(std::string const &v) const;
private:
      std::string foo_;
};

并且在模板中

<%= get_foo() %>

在任何情况下,如果您有许多带有 getter/setter 的字段只能执行“get”和“set”,那么您可能应该考虑将它们公开而不使用 getter/setter。

于 2012-07-26T10:32:52.347 回答