2011-12-20 89 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