Objective-C pakub Macintoshi rakenduste arendamiseks objektorienteeritud funktsioone, nagu pärimine ja polümorfism. Keel põhineb C programmeerimiskeelel; Seetõttu saate Objective-C kodeerimiseks kasutada oma C-programmeerimise teadmisi. Objective-C++ on sildmehhanism, mis võimaldab Objective-C lähtemoodulitel töötada Objective-C++ klassidega, mis võivad kompileerida ja linkida C++ kooditeekidega.
Järgmine lihtne ruutmaatriksi näide näitab maatriksi klassi C++ päisefaili sisu. Klass Matrix on varustatud C++ klassi jaoks mõeldud standardse konstruktori ja destruktoriga ning meetodid on sellised, mida eeldate põhilise ruutmaatriksobjekti puhul:
class Matrix { public: Matrix( int inSize ); virtuaalne ~Matrix(); int getSize( void ); int getDeterminant( void ); void setElement( int inRow, int inCol, int inValue ); int getElement( int inRow, int inCol ); Maatriksi operaator+( const Maatriks& inAddend ); privaatne: int m_size; int[][] m_elemendid; };
Objective-C++ kasutamiseks peavad teie Objective-C++ klassi moodulid kasutama faililaiendit .mm. See annab Xcode'i kompilaatorile teada, et klass tuleb kompileerida kasutades Objective-C++, mis võimaldab teie klassil kasutada C++ keele märksõnu. Kasutades Objective-C++, võib teie rakendus luua põhitoimingute tegemiseks maatriksiobjekti, näiteks kahe maatriksiobjekti liitmiseks. See eeldab, et Objective-C++ lähtemoodul on #importinud faili C++ Matrix.h:
- (void)addTwoMatrices { Matrix matrixOne( 3 ); // 3x3 maatriks MaatriksmaatriksTwo( 3 ); // teine int rowIndex = 0; int colIndeks = 0; for (rowIndex=0; rowIndex<3; ++rowIndex) { for (colIndex=0; colIndex<3; ++colIndex) { // seab maatriksi oma elementide väärtustele matrixOne.setElement( rowIndex, colIndex, XXX ); // maatriksi kahe elementide määramine mõnele muule väärtusele matrixTwo.setElement( rowIndex, colIndex, YYY ); } } MaatriksmaatriksSum = maatriksOne + maatriksKaks;
Objective-C++ abil saavad teie rakendused ära kasutada kõiki saadaolevaid C++ jaoks kirjutatud kolmandate osapoolte teeke.