Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лаб раб 2 Использование классов.docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
898 Кб
Скачать
☆

Определение класса сВох

После щелчка на соответствующем знаке + слева от имени Box в представлении классов раскроется древовидное представление, и вы увидите, что класс СВох определен в проекте. В этом дереве отображаются все классы проекта.

Созданное определение класса СВох начинается с директивы препроцессора.

#pragma once

Она предназначена для предотвращения открытия и включения в исходный код этого файла компилятором более одного раза.

Обратите внимание на то, что #pragma once — это директива, специфичная для Microsoft, которая может не поддерживаться другими средами разработки. Если вы разрабатываете код, который, предположительно, должен компилироваться в разных средах, используйте следующую форму директивы заголовочного файла, чтобы получить тот же эффект.

// Файл заголовка Box.h

#ifndef BOX_H

#define BOX_H

// Код, который не должен включаться более одного раза,

// такой, как определение класса СВох

#endif

Важные строки здесь выделены полужирным шрифтом и соответствуют директивам, поддерживаемым компиляторами ISO/ASNI C++.

Файл Box.cpp , созданный мастером Class Wizard, содержит следующий код

Добавление переменных-членов

Сначала можете добавить закрытые переменные-члены m_Length, m_Width и m_Height. Для этого щелкните правой кнопкой мыши в представлении класса и выберите из контекстного меню пункт Add→Add Variable (Добавить→Добавить переменную). Затем укажите имя, тип и степень доступа для первого члена, который хотите добавить к классу, в диалоговом окне Add Member Variable Wizard (Мастер добавления переменных-членов).

Способ создания новой переменной-члена в диалоговом окне достаточно очевиден. Если вы указываете нижний предел значений переменной-члена, то должны также указать и верхний предел. Когда вы укажете эти пределы, определение конструктора в файле .срр будет изменено за счет добавления значения по умолчанию, равного нижнему пределу. По желанию можете добавить комментарий в нижнем поле ввода. После щелчка на кнопке ОК переменная добавляется к определению класса вместе с комментарием, если он был задан. Этот процесс потребуется повторить для двух других переменных-членов класса — m_Width и m_Height. Определение класса в файле Box.h затем изменяется и будет выглядеть так, как показано ниже.

Разумеется, по желанию можно вводить объявления этих членов вручную, непосредственно в коде. Вы также можете вручную удалить любую часть, созданную автоматически, но не забудьте при этом внести соответствующие изменения в файлы .h и .срр.

Если вы заглянете в файл Box.срр, то увидите, что мастер также добавил список инициализации в определение конструктора для переменных-членов, которые вы добавили, причем каждая переменная инициализируется нулем. Далее можете модифицировать конструктор, чтобы он делал то, что необходимо.

Определение конструктора

Вам нужно изменить объявление конструктора без аргументов, созданного в определении класса, так, чтобы он получал аргументы со значениями по умолчанию, поэтому сделайте так.

explicit CBox(double lv = 1.0, double wv = 1.0, double hv = 1.0);

Теперь вы готовы к реализации. Откройте файл Box.срр, если он еще не открыт, и измените определение конструктора.

Вспомните, что инициализаторы параметров функций-членов должны находиться только в объявлении члена, которое находится в определении класса, а не в определении самой функции. Если вы поместите их в определение функции, ваш код компилироваться не будет.