Добавление глобальных функций

Вам нужно создать файл BoxOperators. срр, который будет содержать определения глобальных функций, поддерживающих операции объектов СВох. Этот файл также должен быть частью проекта. Щелкните на вкладке Solution Explorer (Проводник решений), чтобы отобразить его (у вас в данный момент открыта вкладка Class View), и щелкните правой кнопкой мыши на папке Source Files (Файлы исходного кода). Выберите из контекстного меню пункт Add→ New Item (Добавить→Новый элемент), чтобы открыть диалоговое окно. Выберите категорию Code (Код) и шаблон C++ File (.срр) (Файл C++ (. срр)) в правой панели диалогового окна и введите в качестве имени файла.

После этого введите следующий код в панели редактора.

// BoxOperators.срр

// Операции с СВох, которым не нужен доступ к закрытым членам

#include "Box.h"

// Функция проверки константы на предмет > объекта СВох

bool operator>(const double& value, const CBox& aBox) { … }

// Функция проверки константы на предмет < объекта СВох

bool operator<(const double& value, const CBox& aBox) { … }

// Функция проверки объекта СВох на предмет > константы

bool operator>(const CBox& aBox, const doubles value) { … }

// Функция проверки объекта СВох на предмет < константы

bool operator< (const CBox& aBox, const double& value) { … }

// Функция проверки константы на предмет >= объекту СВох

bool operator>=(const doubles value, const CBox& aBox){ … }

// Функция проверки константы на предмет <= объекту СВох

bool operator<=(const double& value, const CBox& aBox) { … }

// Функция проверки объекта СВох на предмет >= константе

bool operator>=(const CBox& aBox, const double& value) { … }

// Функция проверки объекта СВох на предмет <= константе

bool operator<=(const CBox& aBox, const double& value) { … }

// Функция проверки константы на предмет равенства объекту СВох

bool operator==(const double& value, const CBox& aBox) {…}

// Функция проверки объекта СВох на предмет равенства константе

bool operator==(const CBox& aBox, const double& value) {…}

// Оператор умножения СВох - n*aBox

СВох operator*(int n, const CBox& aBox) { … }

// Оператор для возврата свободного объема в упакованном СВох

double operator%(const CBox& aBox, const CBox& bBox) {…}

В этом файле нужна директива#include для файла заголовкаBox.h,поскольку функцииссылаются на класс СВох. Сохраните файл, а затем перейдите к вкладке Class View. Теперь она будет содержать папку Global Functions and Variables (Глобальные функции и переменные), в которой находятся все только что добавленные функции.

Определения всех этих функций мы уже выполняли. Если захотите использовать любую из этих функций в другом файле.срр, нужно будет объявить все эти функции, которые предполагаете применять, чтобы компилятор узнал их. Для этого поместите набор объявлений в файл заголовка. Переключитесь еще раз на панель Solution Explorer и щелкните правой кнопкой мыши на имени папки Header Files (Файлы заголовка). Выберите Add→New Item (Добавить→Новый элемент) из контекстного меню, чтобы открыть диалоговое окно, но на этот раз установите в качестве категории Code (Код), шаблона -Header File (.h) (Файл заголовка (. h)), а имени — BoxOperators. После щелчка на кнопке Add (Добавить) к проекту будет добавлен пустой файл заголовка, и вы сможете ввести следующий код в окне редактора.

Теперь вы готовы к тому, чтобы применять эти функции наряду с классом СВох для решения специфических задач из мира ящиков.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: