我有一样的东西:如何将结构移动到类中?
typedef struct Data_s {
int field1;
int field2;
} Data;
class Foo {
void getData(Data& data);
void useData(Data& data);
}
在另一个类的功能,我可以做:
class Bar {
Data data_;
void Bar::taskA() {
Foo.getData(data_);
Foo.useData(data_);
}
}
是否有移动数据排除在全球范围内,进入富而不创建方式一个新班级?数据镜像我在别处使用的库中存在的结构。 (即相同的字段,只是名称不同,后来我将数据转换为另一个结构体,我这样做是因为Foo是一个抽象类,并且使用该库的派生类只是其中的一个)。
当前,只是粘贴它里面的类和Data
与Foo::Data
无处不在工作。
class Foo {
typedef struct Data_s {
int field1;
int field2;
} Data;
...
}
我得到'Data' in class 'Foo' does not name a type
在Bar data_;
所以,你想创建一个类,它类似于Data_s?或者你想在运行时将其成员的值复制到一个类中? – Cam 2010-03-28 22:25:32
struct和class只有几个区别,你想通过'将struct移动到class'来实现什么?可能要澄清一下你究竟想要做什么会有所帮助。 – stefanB 2010-03-28 22:29:08
增加/澄清。那个更好吗? – Kache 2010-03-28 22:55:13