Video: Writing 2D Games in C using SDL by Thomas Lively 2025
Část Mac Application Development For Dummies Cheat Sheet
Cíl C poskytuje objektově orientované funkce pro vývoj aplikací Macintosh, jako je dědičnost a polymorfismus. Jazyk je založen na programovacím jazyce C; proto můžete používat C znalosti programování k kódování v rámci Objective-C. Objective-C ++ je mechanismus mostu, který umožňuje zdrojovým modulům Cíl-C pracovat s třídami Objective-C ++, které by mohly kompilovat a propojit knihovny kódu C ++.
Následující jednoduchý příklad čtvercové matice zobrazuje obsah souboru hlavičky C ++ pro třídu Matrix. Třída Matrix je dodávána se standardním konstruktorem a destruktorem pro třídu C ++ a metody jsou to, co byste očekávali pro základní objekt čtvercového matice:
třída Matrix {public: Matrix (int inSize); virtuální ~ Matrix (); int getSize (prázdné); int getDeterminant (neplatný); void setElement (int vRow, int inCol, int inValue); int getElement (int vRow, int inCol); Operátor matice + (const Matrix & inAddend); soukromé: int m_size; int [] [] m_elements;};
Chcete-li použít Objective-C ++, musí vaše třída Objective-C ++ používat příponu souboru. mm. To řekne kompilátoru Xcode, že třída se má kompilovat pomocí Objective-C ++, což umožní vaší třídě používat klíčová slova jazyka C ++. Pomocí aplikace Objective-C ++ by aplikace mohla vytvořit objekt Matrix pro provádění základních operací, například přidání dvou objektů Matrix dohromady. To předpokládá, že zdrojový modul Objective-C ++ má #imported C ++ Matrix. h soubor:
- (prázdné) addTwoMatrices {Matrix matrixOne (3); // 3x3 matice Matrix MatrixTwo (3); // jiný int rowIndex = 0; int colIndex = 0; pro (rowIndex = 0; rowIndex <3; ++ rowIndex) {pro (colIndex = 0; colIndex <3; ++ colIndex) {// nastavte prvky matice na jejich hodnoty matrixOne. setElement (řádekIndex, kolIndex, XXX); // nastavte prvky matice dva na jiné hodnoty matrixTwo. setElement (řádekIndex, colIndex, YYY);} Matrix matrixSum = matrixOne + matrixTwo;
S objektivem C ++ mohou vaše aplikace využívat všechny dostupné knihovny třetích stran napsané pro C ++.
