怎样访问数组成员的成员?数组[i].成员的成员 不对吗?
class JG{
public:
JG(){};
~JG(){};
CString SHEN;
CString XING;
CString MEN;
CString TP;
CString DP;
int Gnum;
};
JG Kan;
JG Kun;
JG Zhen;
JG Xun,Zh,Qian,Dui,Gen,Li;//
//初始化
//Kan.Gnum=1
//,Kun.Gnum=2,Zhen.Gnum=3,Xun.Gnum=4,Zh.Gnum=5,Qian.Gnum=6,Dui.Gnum=7,Gen.Gnum=8,Li.Gnum=9;
JG jg[9]={Kan,Kun,Zhen,Xun,Zh,Qian,Dui,Gen,Li};//为了便于赋值,把变量放到一个数组
JG FX(CString Xing)//根据内容查询所在数组中的变量
{
for (int i=0;i<9;++i)
{
MessageBox(NULL,jg[i].XING,Xing,MB_OK);
if(jg[i].XING==Xing)
{
MessageBox(NULL,jg[i].XING,Xing,MB_OK);
return jg[i];//如果满足jg[i].XING==Xing条件,返回数组中指定的变量
}
}
}
//当我调FX函数时。。。jg[i].XING的内容为空!!不知道为什么
//赋初值
Kan.XING="KAN";
Kan.MEN="xiu";
Kun.XING="KUN";
Zhen.XING="ZHE";
Xun.XING="XUN";
Qian.XING="QIA";
Dui.XING="DUI";
Gen.XING="GEN";
Li.XING="LI";
//调用查询
FX("KAN");
有点搞不明白了,请高手指教一下!谢谢!
[最优解释]
是你的数组没有初始化,试试
JG Kan;
JG Kun;
JG Zhen;
JG Xun,Zh,Qian,Dui,Gen,Li;//
//赋初值
Kan.XING="KAN";
Kan.MEN="xiu";
Kun.XING="KUN";
Zhen.XING="ZHE";
Xun.XING="XUN";
Qian.XING="QIA";
Dui.XING="DUI";
Gen.XING="GEN";
Li.XING="LI";
JG jg[9]={Kan,Kun,Zhen,Xun,Zh,Qian,Dui,Gen,Li};//为了便于赋值,把变量放到一个数组