大班中的小班

Small Class of a Large Class

本文关键字:大班      更新时间:2023-10-16

我正在做一个项目,其中我需要返回一个类,但该类有很多成员函数,但我只想返回特定的变量。这个班级就像这个

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

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

请指导我做这个项目。

感谢

如果我理解正确,你想要一个成员函数更少的类。

您可以通过使用继承来解决这个问题,通过创建一个更基本的类来处理由另一个具有更多成员函数的类继承的最小值(也就是您使用的值)。

类似的东西

struct BasicObject
{
    var1;
    var2;
    var3;
    member_func1();
}
struct FullObject : public BasicObject
{
    member_func2();
    member_func3();
}

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

听起来你只想获取一些数据,所以你可以定义一个结构来保存这些数据:

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

然后使用"获取"成员函数返回您想要的数据:

smallDataUnit member_func_get_small_data()
{
    smallDataUnit data;
    data.a = member_a;
    data.b = member_b;
    data.c = member_c;
    return data;
}
相关文章: