C ++ kode i Objective

Objective-C gir objektorienterte funksjoner for Macintosh applikasjonsutvikling, for eksempel arv og polymorfisme. Språket er basert på programmeringsspråket C; derfor kan du bruke C-programmering kunnskap til kode i Objective-C. Objective-C ++ er en bro mekanisme som tillater Objective-C kilde moduler for å arbeide med Objective-C ++ klasser, noe som kan kompilere og link med C ++ kode biblioteker.

Følgende enkelt eksempel på en kvadratmatrise viser innholdet i en C ++ header fil for en Matrix klasse. The Matrix klasse leveres med standard konstruktøren og destructor for en C ++ klasse, og metodene er hva du kan forvente for en grunnleggende kvadratisk matrise objekt:
klasse Matrix {public: Matrix (int inSize); virtuell ~ Matrix (); int getSize (void); int getDeterminant (void); void setElement (int inRow, int inCol, int invalue); int getElement (int inRow, int inCol); Matrix operatør + (konst Matrix & inAddend), privat: int m_size; int [] [] m_elements;};

For å bruke Objective-C ++, din Objective-C ++ klassemoduler må bruke filtypen .mm. Dette forteller Xcode er kompilatoren at klassen skal bli utarbeidet etter Objective-C ++, som vil tillate din klasse til å bruke C ++ språk søkeord. Bruke Objective-C ++, kan appen lage en Matrix objekt for å utføre grunnleggende operasjoner, for eksempel legge to Matrix objekter sammen. Dette forutsetter Objective-C ++ kilde modulen har #imported C ++ Matrix.h file: Anmeldelser - (void) addTwoMatrices {Matrix MatrixOne (3); //3x3 matrise matrise matrixTwo (3); //Annen int rowIndex = 0; int colIndex = 0; for (rowIndex = 0; rowIndex < 3; ++ rowIndex) {for (colIndex = 0; colIndex < 3; ++ colIndex) {//sett matrix ens elementer til deres verdier matrixOne.setElement (rowIndex, colIndex, XXX); //Setter matrise to er elementer til noen andre verdier matrixTwo.setElement (rowIndex, colIndex, YYY); }} Matrix matrixSum = MatrixOne + matrixTwo;

Med Objective-C ++, appene er i stand til å dra nytte av alle de tilgjengelige tredjeparts biblioteker skrevet for C ++
.



Previous:
Next Page: