在一个班级中组织职能

时间:2014-01-19 18:01:47

标签: c++ oop

我想将所有类函数放入“子域”(这是正确的术语?),例如functions

myClass.functions.function1();部分

那么如何为此目的重写这个呢?

    class MYCLASS {
      private:
        int data;
      public:
        int function1();
        int function2();
        int function3();
    };

然后可以使用该类:

    MYCLASS myClass;
    myClass.functions.function1();

而不仅仅使用myClass.function1();

2 个答案:

答案 0 :(得分:3)

您可以在某个描述性命名空间中创建这些自由函数,也可以将它们置于嵌套类中。但是,这两个都意味着只能通过原始类的接口访问成员,这意味着你仍然需要在类本身内部使用一些公共函数。

否则,已经清楚这些是函数,所以我只是不能这样做。如果你想要,因为你有很多函数,那么你的函数太多了,你的类几乎肯定会做太多事情。

答案 1 :(得分:0)

根据我们的设计(需要面向对象但不一定),您可以定义新的命名空间或结构或称为嵌套类的类!

例如:

class A {
public:
  int a;

  class B {
  public:
    void do_something();

  } bObject;

};