C++ kód Objective-C Macintosh alkalmazásokban

Az Objective-C objektumorientált funkciókat biztosít a Macintosh-alkalmazások fejlesztéséhez, mint például az öröklődés és a polimorfizmus. A nyelv a C programozási nyelven alapul; ezért használhatja C programozási ismereteit az Objective-C kódolásához. Az Objective-C++ egy hídmechanizmus, amely lehetővé teszi, hogy az Objective-C forrásmodulok együttműködjenek az Objective-C++ osztályokkal, amelyek lefordíthatják és összekapcsolhatják a C++ kódkönyvtárakat.

A négyzetmátrix alábbi egyszerű példája egy mátrix osztály C++ fejlécfájljának tartalmát mutatja be. A Matrix osztály tartalmazza a szabványos konstruktort és destruktort egy C++ osztályhoz, és a metódusok megegyeznek az alap négyzetmátrix objektumokkal szemben:

class Mátrix { public: Matrix( int inSize ); virtuális ~Matrix(); int getSize( void ); int getDeterminant( void ); void setElement( int inRow, int inCol, int inValue ); int getElement( int inRow, int inCol ); Mátrix operátor+( const Mátrix& inAddend ); privát: int m_size; int[][] m_elements; };

Az Objective-C++ használatához az Objective-C++ osztálymoduloknak .mm fájlkiterjesztést kell használniuk. Ez közli az Xcode fordítójával, hogy az osztályt az Objective-C++ használatával kell lefordítani, ami lehetővé teszi, hogy az osztály C++ nyelvi kulcsszavakat használjon. Az Objective-C++ használatával az alkalmazás létrehozhat egy Matrix objektumot az alapvető műveletek elvégzéséhez, például két Matrix objektum összeadásához. Ez azt feltételezi, hogy az Objective-C++ forrásmodul #importálta a C++ Matrix.h fájlt:

- (void)addTwoMatrices { Matrix matrixOne( 3 ); // 3x3 mátrix Matrix matrixTwo( 3 ); // másik int sorIndex = 0; int colIndex = 0; for (rowIndex=0; rowIndex<3; ++rowIndex) { for (colIndex=0; colIndex<3; ++colIndex) { // mátrix egy elemeinek értékei beállítása matrixOne.setElement( rowIndex, colIndex, XXX ); // a kettes mátrix elemeinek beállítása néhány más értékre matrixTwo.setElement( rowIndex, colIndex, YYY ); } } Mátrix mátrixSum = matrixOne + matrixTwo;

Az Objective-C++ segítségével alkalmazásai ki tudják használni az összes elérhető, harmadik féltől származó, C++ nyelvre írt könyvtár előnyeit.


A Snagit 2018 áttekintése Újdonságok a 13-as verzió óta

A Snagit 2018 áttekintése Újdonságok a 13-as verzió óta

A TechSmith Snagit a kedvenc képernyőkép- és képszerkesztő szoftverünk. Tekintse meg a Snagit 2018 új funkcióit!

8 online eszköz diagramok és folyamatábrák rajzolásához

8 online eszköz diagramok és folyamatábrák rajzolásához

Diagramokat vagy folyamatábrákat kell létrehoznia, és nem szeretne extra szoftvert telepíteni? Íme az online diagramkészítő eszközök listája.

A Spotify nem tudja lejátszani az aktuális dalt? Hogyan javítható

A Spotify nem tudja lejátszani az aktuális dalt? Hogyan javítható

Ha egy ház tele van vezeték nélkül csatlakoztatott eszközökkel és streaming szolgáltatásokkal, mint a Spotify, az nagyszerű, amíg a dolgok nem működnek, és érdekes megoldásokat nem talál.

Mi az NVMe M.2 SSD, és milyen gyors?

Mi az NVMe M.2 SSD, és milyen gyors?

Az NVMe M.2 SSD a legújabb számítógépes merevlemez-technológia. Mi ez, és milyen gyors a korábbi merevlemezekkel és szilárdtest-meghajtókkal (SSD) szemben?

Sonos vs. AirPlay: Miért választottam az AirPlay-t a Whole House Audio számára?

Sonos vs. AirPlay: Miért választottam az AirPlay-t a Whole House Audio számára?

A Sonos a jelenleg működő streaming audio megoldás, amely 400 dollártól indul két hangszóróért. De megfelelő beállítással az AirPlay ingyenes lehet. Tekintsük át a részleteket.

A Google Backup and Sync alkalmazás leváltja a Fotókat és a Drive-ot

A Google Backup and Sync alkalmazás leváltja a Fotókat és a Drive-ot

A Google Backup and Sync egy új alkalmazás, amely szinkronizálja a Fotókat és a Drive-ot. Olvassa el, hogy megtudja, hogyan áll szemben a OneDrive, a Dropbox, a Backblaze és a Crashplan.

Vezetékvágás: A MyIPTV áttekintése a SOPlayerrel

Vezetékvágás: A MyIPTV áttekintése a SOPlayerrel

A MyIPTV egy kábelvágó szolgáltatás, amely a SOPlayer alkalmazást több platformon használja, és televíziót, filmeket és egyéb médiát biztosít fizetős

Logitech megvilágított nappali billentyűzet K830

Logitech megvilágított nappali billentyűzet K830

A Logitech a közelmúltban kiadta az Illuminated Living-Room Keyboard K830-at, amelyet otthoni szórakoztatási társnak szántak. Íme az egységről szóló véleményünk.

CloudHQ frissítve: Gyorsabb szinkronizálás, Dropbox-fájlok szerkesztése a Google Dokumentumokból

CloudHQ frissítve: Gyorsabb szinkronizálás, Dropbox-fájlok szerkesztése a Google Dokumentumokból

Íme egy pillantás a CloudHQ-hoz nemrégiben kiadott frissítésre és annak működésére. Olvasson tovább, ha többet szeretne megtudni.

Mi az a OnePlus 6T Android telefon?

Mi az a OnePlus 6T Android telefon?

A OnePlus 6T egy prémium zászlóshajó-minőségű Android telefon, amely az Apple iPhone-hoz, a Google Pixel 3-hoz vagy a Samsung Galaxy S9-hez képest kedvezményes áron kapható.