C++ код в Objective-C Macintosh приложения

Objective-C предоставя обектно-ориентирани функции за разработка на приложения на Macintosh, като например наследяване и полиморфизъм. Езикът е базиран на езика за програмиране C; следователно можете да използвате знанията си по програмиране на C, за да кодирате в Objective-C. Objective-C++ е мостов механизъм, който позволява на изходните модули на Objective-C да работят с Objective-C++ класове, които могат да компилират и свързват с библиотеки с код на C++.

Следният прост пример за квадратна матрица показва съдържанието на C++ заглавен файл за клас Matrix. Класът Matrix идва със стандартния конструктор и деструктор за C++ клас, а методите са това, което бихте очаквали за основен квадратен матричен обект:

class Matrix { public: Matrix( int inSize ); виртуален ~Matrix(); int getSize( void); int getDeterminant( void); void setElement( int inRow, int inCol, int inValue); int getElement( int inRow, int inCol ); Матричен оператор+( const Matrix& inAddend ); частен: int m_size; int[][] m_elements; };

За да използвате Objective-C++, вашите модули на клас Objective-C++ трябва да използват разширението на файла .mm. Това казва на компилатора на Xcode, че класът трябва да бъде компилиран с помощта на Objective-C++, което ще позволи на вашия клас да използва ключови думи на езика C++. Използвайки Objective-C++, вашето приложение може да създаде обект Matrix за извършване на основни операции, като например добавяне на два обекта Matrix заедно. Това предполага, че изходният модул Objective-C++ е #импортирал файла C++ Matrix.h:

- (void)addTwoMatrices { Матрица matrixOne( 3 ); // 3x3 матрица Matrix matrixTwo( 3 ); // друг int rowIndex = 0; int colIndex = 0; for (rowIndex=0; rowIndex<3; ++rowIndex) { for (colIndex=0; colIndex<3; ++colIndex) { // задаване на нечии елементи от матрицата на техните стойности matrixOne.setElement( rowIndex, colIndex, XXX ); // задаване на елементите на матрица две на някои други стойности matrixTwo.setElement( rowIndex, colIndex, YYY ); } } Матрица matrixSum = matrixOne + matrixTwo;

С Objective-C++ вашите приложения могат да се възползват от всички налични библиотеки на трети страни, написани за C++.


За възрастни: Как да вмъкнете изрезки в слайд на PowerPoint

За възрастни: Как да вмъкнете изрезки в слайд на PowerPoint

Клипартът е предварително нарисувано общо произведение на изкуството и Microsoft предоставя много файлове с клипарт безплатно със своите продукти на Office. Можете да вмъкнете изрезки в оформлението на слайда на PowerPoint. Най-лесният начин да вмъкнете клип арт е като използвате един от заместителите в оформлението на слайда: Покажете слайд, който съдържа клипарт […]

За възрастни: Как да запълните цвят в Microsoft Excel

За възрастни: Как да запълните цвят в Microsoft Excel

Цвят на запълване — наричан още засенчване — е цветът или моделът, който запълва фона на една или повече клетки на работния лист на Excel. Прилагането на засенчване може да помогне на очите на читателя да следват информацията в цялата страница и може да добави цвят и визуален интерес към работния лист. В някои видове електронни таблици, като например регистър на чековите книжки, […]

Добавяне на нови контакти в Act! 2005 г

Добавяне на нови контакти в Act! 2005 г

На най-простото ниво, основната цел на ACT! е да служи като място за съхранение на всички контакти, с които взаимодействате ежедневно. Можете да добавяте и редактирате всичките си контакти от прозореца Подробности за контакт, защото съдържа цялата информация, която се отнася до един конкретен запис и […]

Discord For LuckyTemplates Cheat Sheet

Discord For LuckyTemplates Cheat Sheet

Използвайте този Cheat Sheet, за да преминете директно към използването на Discord. Открийте полезни Discord ботове, приложения, които можете да интегрирате, и съвети за интервюиране на гости.

OpenOffice.org за LuckyTemplates Cheat Sheet

OpenOffice.org за LuckyTemplates Cheat Sheet

Офис пакетът OpenOffice.org има много инструменти за улесняване на работния живот. Когато работите в OpenOffice.org, запознайте се с функционалната лента с инструменти (която изглежда почти еднакво във всички приложения) и главните бутони на лентата с инструменти за помощ с основните команди за повечето задачи.

Машината за бомби на Алън Тюринг

Машината за бомби на Алън Тюринг

Машината Bombe на Алън Тюринг не беше никаква форма на изкуствен интелект (AI). Всъщност това дори не е истински компютър. Счупи криптографските съобщения на Enigma и това е всичко. Това обаче даде повод за размисъл за Тюринг, което в крайна сметка доведе до документ, озаглавен „Компютърни машини и интелигентност“?? която той публикува през 50-те години на миналия век, която описва […]

Стандартни хардуерни дефицити за изкуствен интелект

Стандартни хардуерни дефицити за изкуствен интелект

Възможността за създаване на модулна система има значителни предимства, особено в бизнеса. Възможността за премахване и замяна на отделни компоненти поддържа разходите ниски, като същевременно позволява постепенни подобрения както в скоростта, така и в ефективността. Въпреки това, както при повечето неща, няма безплатен обяд. Модулността, осигурена от архитектурата на фон Нойман, идва с някои […]

10 правила, които не трябва да правите при използване на QuarkXPress

10 правила, които не трябва да правите при използване на QuarkXPress

Ако трябва да изберете десет лесни за забравяне, но изключително полезни неща, които да запомните за QuarkXPress, тези в следващия списък, скъпи читателю, биха били те. Намасте. Говорете с вашия търговски принтер. Всички проекти за печат започват и завършват с принтера. Това е така, защото само принтерите знаят своите ограничения и хилядите начини, по които един проект може да бъде […]

Произходът на биткойн

Произходът на биткойн

Най-важният аспект на биткойн може да е концепцията зад него. Биткойн е създаден от разработчика Сатоши Накамото. Вместо да се опитва да създаде изцяло нов метод на плащане, за да премахне начина, по който всички плащаме за нещата онлайн, Сатоши видя някои проблеми със съществуващите платежни системи и искаше да ги разреши. Концепцията за […]

Как да защитите поверителността си, когато използвате биткойн

Как да защитите поверителността си, когато използвате биткойн

Известно ниво на анонимност е обвързано с използването на биткойн и цифровата валута като цяло. Дали можете да го обозначите като „достатъчно анонимен“ е лично мнение. Има начини да защитите поверителността си, когато използвате биткойн за преместване на средства, но те изискват известно усилие и планиране: Можете да генерирате нов адрес за […]