2011-12-20 120 views
-4

如何初始化類對象的結構變量?我有以下代碼:類對象中的結構初始化

#include<iostream> 

using namespace std; 

class bitmap { 
     public : 
     bitmap() { clear() ;} 
     get(); 

     set(); 
     clear(); 

    static const int a=10; 

}; 

bitmap::get() { 

}; 


struct bitmap_list { 

     bitmap_list_value   _value; 
} 

int main() 
{ 

     bitmap bitmap_list_value; 

     bitmap_list bbbb; 
     bbbb. _value=bitmap_list_value.a; 

     cout << bbbb._value << endl; 

} 

這段代碼正確,或者是否有可能初始化包含類對象的結構?這是我收到的錯誤:

>error: ‘struct error: ‘_bitmap_list_value’ does not name a type 
>error:bitmap_list’ has no member named ‘_value’ 
+5

什麼是'bitmap_list_value'? – 2011-12-20 10:25:41

+0

你也錯過了一個;從bitmap_list聲明... – mark 2011-12-20 11:33:03

+0

也許你的意思是'struct bitmap_list {int _value;}'? – 2011-12-21 09:28:25

回答

3

不,此代碼不正確。您引用的是從未聲明的類型bitmap_list_value

基於您的評論(「bitmap_list_value是一流的位圖對象」),它的聲音,如果你也有這樣的,但在你的問題的一些原因代碼並沒有包括它:

typedef bitmap bitmap_list_value; 

但是的,當然,您可以在struct s中包含班級類型的成員。 A struct或多或少是class,默認情況下所有字段都製作爲public,您可以像在類中一樣定義structs中的方法,依此類推。

+0

bitmap_list_value是類位圖 – user1095505 2011-12-20 11:10:28

+0

的對象,我的問題是可以在結構中聲明類對象嗎? – user1095505 2011-12-20 11:12:13

+0

是的,它可以在類/結構中聲明類/結構... – mark 2011-12-20 11:35:02