我有一樣的東西:如何將結構移動到類中?
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