我正在做一个项目,在这个项目中我需要返回一个类,但是这个类有很多成员函数,但我只想返回特定的变量。这个类是这样的
class CA
{
public:
var1;
var2;
var3;
member_func();
member_func();
member_func();
QMutex memoryMutex_mono; //another class
};有没有办法让我只返回前三个变量,而不返回所有的成员函数。另外,总共有15个变量和6个成员函数。
请在这个项目中指导我。
谢谢
发布于 2013-09-03 17:37:23
如果我没理解错的话,你想要一个成员函数更少的类。
您可以通过使用继承来解决这个问题,通过创建一个更基本的类来处理由另一个具有更多成员函数的类继承的最小值(并且将是您使用的最小值)。
就像这样
struct BasicObject
{
var1;
var2;
var3;
member_func1();
}
struct FullObject : public BasicObject
{
member_func2();
member_func3();
}但就像我在我的评论中所说的,这实际上与对象的大小无关,因为只有成员变量才会占用对象的空间,而不是它的成员函数。
发布于 2013-09-03 17:41:59
听起来你只想获取一些数据,所以你可以定义一个结构来保存这些数据:
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;
}https://stackoverflow.com/questions/18588767
复制相似问题