WEB开发网
开发学院手机开发Symbian 开发 Symbian 中的动态数组 CArrayX 阅读

Symbian 中的动态数组 CArrayX

 2010-08-31 00:12:00 来源:WEB开发网   
核心提示:Cpp代码TKeyArrayFix(TInt anOffset, TKeyCmpText aType)TKeyArrayFix(TInt anOffset, TKeyCmpText aType)这两个参数是:TInt anOffset —类中字段的偏移量TKeyCmpText aType — 对应字段的类型对于第一个参

Cpp代码

TKeyArrayFix(TInt anOffset, TKeyCmpText aType)

TKeyArrayFix(TInt anOffset, TKeyCmpText aType)

这两个参数是:

TInt anOffset —类中字段的偏移量

TKeyCmpText aType — 对应字段的类型

对于第一个参数,Symbian中提供了一个_FOFF(c,f)宏来取得类中字段的偏移量,其中,c为类命,f为字段命。如:_FOFF(TStudent,iSName);

对于第二个参数,我们通常是可以有据可循的,请见下表:

image

Cpp代码

class TStudent

{

public:

TStudent(const TDesC& aSName,TUint aSNo,TReal aScore);

public:

TUint iSNo;

TReal iScore;

TBuf<10> iSName;

};

TStudent::TStudent(const TDesC& aSName,TUint aSNo,TReal aScore)

{

iSNo = aSNo;

iScore = aScore;

iSName = aSName;

}

void ManageStu()

{

//使用CArrayFixFlat,很少进行分配时,用于存储固定大小的T类和R类对象

CArrayFixFlat* StuArrayFlat;

//这里也可以改成CArrayFixSeg* StuArraySeg;

StuArrayFlat = new(ELeave)CArrayFixFlat(5);

CleanupStack::PushL(StuArrayFlat);

//分配空间存储两个学生的信息

_LIT(KSTUDENT1,"GuanYabei");

_LIT(KSTUDENT2,"WuMingshi");

_LIT(KRETURN," ");

TBuf<10> StuName1 = KSTUDENT1;

TBuf<10> StuName2 = KSTUDENT2;

//初始化两个学生的信息(姓名,学号,分数)

TStudent stu1(StuName1,1,100.0);

TStudent stu2(StuName2,2,99.5);

//添加到数组中,请注意,用到的是AppendL()方法,它是可能引起异常的

StuArrayFlat->AppendL(stu1);

StuArrayFlat->AppendL(stu2);

// 显示所有的学生信息

上一页  1 2 3 4  下一页

Tags:Symbian 动态 数组

编辑录入:coldstar [复制链接] [打 印]
赞助商链接