0

我正在做一个项目,我需要返回一个类,但该类有很多成员函数,但我只想返回特定的变量。课堂是这样的

class CA
{
public:
var1;
var2;
var3;
member_func();
member_func();
member_func();
QMutex      memoryMutex_mono; //another class
};

有什么办法可以让我只返回前三个变量而不返回所有成员函数。此外,共有 15 个变量和 6 个成员函数。

请在这个项目中指导我。

谢谢

4

2 回答 2

2

如果我理解正确,您需要一个成员函数较少的类。

您可以通过使用继承来解决这个问题,方法是创建一个更基本的类来处理由具有更多成员函数的另一个类继承的最低限度(并且将是您使用的类)。

就像是

struct BasicObject
{
    var1;
    var2;
    var3;
    member_func1();
}

struct FullObject : public BasicObject
{
    member_func2();
    member_func3();
}

但就像我在评论中所说的那样,对象的大小实际上并不重要,因为只有成员变量占用对象中的空间,而不是其成员函数。

于 2013-09-03T09:37:22.647 回答
0

听起来您只想获取一些数据,因此您可以定义一个结构来保存该数据:

typedef struct smallDataUnit
{
    int a;
    float b;
    uint32_t c;
}

然后使用“get”成员函数返回你想要的数据:

smallDataUnit member_func_get_small_data()
{
    smallDataUnit data;
    data.a = member_a;
    data.b = member_b;
    data.c = member_c;

    return data;
}
于 2013-09-03T09:41:59.027 回答