我想将所有类函数放入“子域”(这是正确的术语?),例如functions
myClass.functions.function1();
部分
那么如何为此目的重写这个呢?
class MYCLASS {
private:
int data;
public:
int function1();
int function2();
int function3();
};
然后可以使用该类:
MYCLASS myClass;
myClass.functions.function1();
而不仅仅使用myClass.function1();
。
答案 0 :(得分:3)
您可以在某个描述性命名空间中创建这些自由函数,也可以将它们置于嵌套类中。但是,这两个都意味着只能通过原始类的接口访问成员,这意味着你仍然需要在类本身内部使用一些公共函数。
否则,已经清楚这些是函数,所以我只是不能这样做。如果你想要,因为你有很多函数,那么你的函数太多了,你的类几乎肯定会做太多事情。
答案 1 :(得分:0)
根据我们的设计(需要面向对象但不一定),您可以定义新的命名空间或结构或称为嵌套类的类!
例如:
class A {
public:
int a;
class B {
public:
void do_something();
} bObject;
};