求Symbian中C类的详细介绍.最好带例子
来源:百度知道 编辑:UC知道 时间:2024/06/14 22:11:37
class CPerson : public CBase
{
public:
static CPerson* NewL( TInt aId, TDesC& aName );
static CPerson* NewLC( TInt aId, TDesC& aName );
~CPerson();
public:
TDesC& Name() const;
void SetNameL( TDesC& aName );
private:
CPerson( TInt aId ) : iId( aId ) {}
void ConstructL( TDesC& aName );
private:
TInt iId;
HBufC* iName;
};
void CPerson::ConstructL( TDesC& aName )
{
iName = HBufC::NewL( aName.Length() );
TPtr ptr( iName->Des() );
ptr.Copy( aName );
//iName = aName.AllocL();
}
CPerson* CPerson::NewLC( TInt aId, TDesC& aName )
{
CPerson* self = new ( ELeave ) CPerson( aId );
CleanupStack::PushL( self );
self->ConstructL( aName );
return self;
}
CPerson* CPerson::NewL( TInt aId, TDesC& aName )
{
CPerson* self = CPerson::Ne