Copy Link
Add to Bookmark
Report
4x01 Symbian C++ Reference - Part 1
...................
...::: phearless zine #4 :::...
...............>---[ Symbian C++ Reference - Part 1 ]---<................
..........................>---[ by argv ]---<............................
argv.cpp[at]gmail[dot]com
Sadrzaj:
[0] Intro/Outro
[1] Basics
[2] Prefixes
[3] Sufixes
[4] Classes
[5] Types
////////////////////////////////////////////////////////////////////////////
--==<[ 0. Intro/Outro
\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
C++ za Symbian nije toliko drukciji po funkcionalnosti, ali se dosta razlikuje
po sintaksi i nacinu koristenja odredjenih funkcija. Posto je ovo relativno
veliko podrucje, odlucio sam razbiti ga u nekoliko chaptera (vjerovatno 3).
Za ovaj broj zinea ubacio sam samo osnove dok ce ostala 2 chaptera doci sa
brojem 5.
////////////////////////////////////////////////////////////////////////////
--==<[ 1. Basics
\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
Prvo slovo neke klase uvijek mora pocinjati sa velikim slovom. npr:
class TNekaKlasa
Rijeci koje oznacavaju varijablu ili ime funkcije takodjer pocinju sa velikim
slovom, dok parametri funkcije pocinju s malim. npr:
void NekaFunkcija();
TInt mojaLokalnaVarijabla;
CVarijabla* iNekiMember;
////////////////////////////////////////////////////////////////////////////
--==<[ 2. Prefixes
\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
neki od prefixa koji se koriste su:
TInt iTimer; -> i = instance
void NekaFunkcija(TBool aPrimjerBool, const TDesC& aName); -> a = argument
enum TImena {EIvo, EIvica, EIvana}; -> E = enumeracija
const TInt KMaxFilenameLength = 256; -> K = konstantno (const)
#define KMaxFilenameLength 256 -> #define za const
////////////////////////////////////////////////////////////////////////////
--==<[ 3. Sufixes
\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
neki od sufixa koji se koriste su:
void ConstructL(); -> L oznacava da se funkcija smije prekinuti nakon sto zavrsi.
CAplikacija* NewLC(); -> C oznacava da funkcija vraca pointer na CleanupStack
i zatim izlazi.
TInt IzvrsiLD(TInt aResourceId); -> D oznacava da ce referirani objekt biti
izbrisan nakon izvrsenja funkcije.
////////////////////////////////////////////////////////////////////////////
--==<[ 4. Classes
\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
Klase imaju 4 moguca prefixa, to su:
C(Class) - ove klase potjecu iz CBase headera (e32base.h) i mogu koristiti
Stack i StackCleanup metode.
primjer: LOCAL_C void CNekaKlasa()
R(Resource) - ove klase sluze za kontrolu svih vanjskih resursa koje vasa
aplikacija koristi (slike, ikone...)
primjer: RESOURCE NekiResource
T(Type) - ove klase koriste 'built-in tipove' i nije im potreban pointer ili
handle za pristup.
primjer: LOCAL_C void TDriveInfo()
M(Mixed) - ove klase mogu sadrzavati sve ostale klase i tako mozda smanjiti
kolicinu posla, ali ovo je jos experimental i ne preporucujem.
////////////////////////////////////////////////////////////////////////////
--==<[ 5. Types
\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
Osnovni Tipovi su:
TIntX i TUintX (X = 8,16,32 bit) (TIntX = SIGNED, TUintX = UNSIGNED)
TReal32 i TReal64 (TReal32 = float, TReal64 = double)
TTextX (X = 8,16 bit) za signed integere
TAny* (TAny* == void*) (void MojaFunkcija(TAny* aPointerNaParametar);
TBool (TBool == True(1) or False(0))
--
Greetz
Blackhat