Код 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 ); віртуальна ~Матриця(); 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 { Matrix 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++.


Огляд Snagit 2018 Що нового з версії 13

Огляд Snagit 2018 Що нового з версії 13

TechSmith Snagit — наше улюблене програмне забезпечення для створення скріншотів і редагування зображень. Перегляньте нові функції в Snagit 2018!

8 онлайн-інструментів для малювання діаграм і блок-схем

8 онлайн-інструментів для малювання діаграм і блок-схем

Потрібно створити діаграми або блок-схеми і не хочете встановлювати додаткове програмне забезпечення? Ось список онлайн-інструментів для створення діаграм.

Spotify не може відтворити поточну пісню? Як виправити

Spotify не може відтворити поточну пісню? Як виправити

Мати дім, повний бездротових пристроїв і потокових служб, таких як Spotify, — це чудово, доки все не запрацює, а ви знайдете цікаві рішення.

Що таке NVMe M.2 SSD і наскільки він швидкий?

Що таке NVMe M.2 SSD і наскільки він швидкий?

NVMe M.2 SSD — це найновіша технологія комп’ютерних жорстких дисків. Що це таке та наскільки він швидкий порівняно зі старими жорсткими дисками та твердотільними накопичувачами (SSD)?

Sonos проти AirPlay: Чому я вибрав AirPlay для аудіосистеми всього будинку

Sonos проти AirPlay: Чому я вибрав AirPlay для аудіосистеми всього будинку

Sonos — це ідеальне рішення для потокового аудіо від 400 доларів США за два динаміки. Але за правильного налаштування AirPlay може бути безкоштовним. Давайте розглянемо деталі.

Додаток Google Backup and Sync замінює Photos і Drive

Додаток Google Backup and Sync замінює Photos і Drive

Google Backup and Sync – це нова програма, яка синхронізується з Фото та Диском. Читайте далі, щоб побачити, як він протистоїть OneDrive, Dropbox, Backblaze і Crashplan.

Розрізання кабелю: огляд MyIPTV із SOPlayer

Розрізання кабелю: огляд MyIPTV із SOPlayer

MyIPTV — це служба розрізання кабелю, яка використовує програму SOPlayer для кількох платформ і надає телебачення, фільми та інші форми медіа за плату.

Клавіатура Logitech K830 для вітальні з підсвічуванням

Клавіатура Logitech K830 для вітальні з підсвічуванням

Logitech нещодавно випустила клавіатуру K830 з підсвічуванням для вітальні, призначену для домашнього розваги. Ось наш огляд агрегату.

Оновлено CloudHQ: швидша синхронізація, редагування файлів Dropbox із Google Docs

Оновлено CloudHQ: швидша синхронізація, редагування файлів Dropbox із Google Docs

Ось подивіться на нещодавно випущене оновлення для CloudHQ і як воно працює. Читайте далі, щоб дізнатися більше.

Що таке Android-телефон OnePlus 6T?

Що таке Android-телефон OnePlus 6T?

OnePlus 6T — флагманський Android-телефон преміум-класу, який продається зі знижкою порівняно з Apple iPhone, Google Pixel 3 або Samsung Galaxy S9.