首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

有点晕啊问个简单的关于对象数组嵌套的有关问题

2012-08-08 
有点晕啊,问个简单的关于对象数组嵌套的问题class A{private:int vpublic:A(){v0}~A(){}void SetV(int

有点晕啊,问个简单的关于对象数组嵌套的问题
class A
{
private:
int v;

public:

A(){v=0;}
~A(){}

void SetV(int tmp)
{
v=tmp;
}

int GetV(){return v;}
};

class B
{
private:
A ba[3];

public:

B(){}
~B(){}

A GetA(int i){return ba[i];}
};

class C
{
private:
B cb[5];

public:

C(){}
~C(){}

void SetAData()
{
for(int i=0;i<5;i++)
{
for(int j=0;j<3;j++)
{

cb[i].GetA(j).SetV((i+1)*(j+1));

printf(" %d ",cb[i].GetA(j).GetV());
}

printf("\n");

}

}

};


int main()


C c;

c.SetAData();

getchar();

}


输出结果居然全是0,也就是说setV函数压根没起作用,
一直以为系统创建C类对象时会自动为cb对象数组分配地址空间(5个B对象),创建cb时又会自动为ba分配空间(3个A对象),也就是c对象中的15个A应该在地址是独立的啊,真晕,求解,大家帮我清醒清醒啊

[解决办法]

C/C++ code
A GetA(int i){return ba[i];} 

热点排行