组织类中的函数

Organizing functions within a class

本文关键字:函数      更新时间:2023-10-16

我想把所有的类函数都放到一个"子域"中(这个正确的术语是什么?),比如myClass.functions.function1();functions部分

那么,应该如何为此目的重写呢?

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

以便可以使用该类:

MYCLASS myClass;
myClass.functions.function1();

而不是只使用myClass.function1();.

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

否则,很明显这些是函数,所以我根本不会这样做。如果你愿意,因为你有大量的函数,那么你有太多的函数,你的类几乎肯定会做太多的事情。

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

例如:

class A {
public:
int a;
class B {
public:
void do_something();
} bObject;
};