Как создать класс в c visual studio
Обновлено: 21.11.2024
Например, если вы хотите работать с данными сотрудника в определенном приложении.
Свойствами сотрудника будут идентификатор и имя сотрудника. Методы будут включать ввод и изменение данных о сотрудниках.
В этом уроке вы узнаете-
Что такое класс и объект?
Начнем с классов.
Как мы уже обсуждали ранее, классы представляют собой инкапсуляцию свойств данных и методов данных.
- Свойства используются для описания данных, которые будут храниться в классе.
- Методы сообщают, какие операции можно выполнять с данными.
Чтобы лучше понять класс и объекты, давайте рассмотрим приведенный ниже пример того, как должен выглядеть класс.
Название класса — «Учебник». Класс имеет следующие свойства
- Идентификатор учебника. Он будет использоваться для хранения уникального номера, который будет представлять собой учебник.
- Название учебника — будет использоваться для хранения названия учебного пособия в виде строки.
Класс также состоит из методов. В нашем классе есть следующие методы,
Ниже показано, как может выглядеть объект для нашего учебного класса. У нас есть 3 объекта, каждый со своим TutorialID и TutorialName.
Как создать класс и объект
Теперь давайте погрузимся в Visual Studio, чтобы создать наш класс. Мы собираемся использовать наше существующее консольное приложение, которое было создано в предыдущей главе. Мы создадим класс в Visual Studio для нашего текущего приложения.
Давайте выполним указанные ниже шаги, чтобы получить этот пример.
Шаг 1. Первый шаг включает в себя создание нового класса в нашем существующем приложении. Это делается с помощью Visual Studio.
- Первый шаг – щелчок правой кнопкой мыши по решению, в нашем случае – "DemoApplication". Откроется контекстное меню со списком параметров.
- В контекстном меню выберите пункт Добавить->Класс. Это даст возможность добавить класс в существующий проект.
Шаг 2. Следующим шагом является предоставление имени для класса и добавление его в наше решение.
- В диалоговом окне проекта нам сначала нужно указать имя для нашего класса. Давайте укажем имя Tutorial.cs для нашего класса. Обратите внимание, что имя файла должно заканчиваться на .cs, чтобы оно считалось правильным файлом класса.
- Когда мы нажмем кнопку "Добавить", класс будет добавлен в наше решение.
Если выполнить описанные выше шаги, вы получите следующий вывод в Visual Studio.
Вывод:-
К решению будет добавлен класс Tutorial.cs. Если вы откроете файл, вы найдете приведенный ниже код, добавленный в файл класса.
Пояснение кода:-
На данный момент наш файл класса ничего не делает. В следующих темах мы более подробно рассмотрим, как работать с классом.
Поля и методы
Мы уже видели, как поля и методы определяются в классах в предыдущем разделе.
Для нашего учебного класса у нас могут быть следующие свойства.
- Идентификатор учебника. Он будет использоваться для хранения уникального номера, который будет представлять собой учебник.
- Название учебника — будет использоваться для хранения названия учебного пособия в виде строки.
Наш учебный класс также может иметь перечисленные ниже методы.
- SetTutorial — этот метод будет использоваться для установки идентификатора и имени учебника.
- GetTutorial – этот метод используется для получения подробной информации о конкретном руководстве.
Теперь посмотрим, как мы можем включить поля и методы в наш код.
Шаг 1. Первый шаг — убедиться, что в классе Tutorial определены правильные поля и методы. На этом шаге мы добавляем приведенный ниже код в файл Tutorial.cs.
Пояснение кода:-
- Первый шаг — добавить поля TutorialID и TutorialName в файл класса. Поскольку поле TutorialID будет числом, мы определяем его как целое число, а TutorialName — как строку.
- Далее мы определяем метод SetTutorial. Этот метод принимает 2 параметра. Таким образом, если Program.cs вызывает метод SetTutorial, ему необходимо предоставить значения для этих параметров. Эти значения будут использоваться для установки полей объекта Tutorial.
Шаг 2. Теперь давайте добавим код в наш Program.cs, который является нашим консольным приложением. Консольное приложение будет использоваться для создания объекта «класса Tutorial» и вызова методов SetTutorial и GetTutorial соответственно.
(Примечание: объект является экземпляром класса в любой момент времени. Разница между классом и объектом заключается в том, что объект содержит значения свойств.)
Пояснение кода:-
Если приведенный выше код введен правильно и программа запущена, отобразится следующий вывод.
Вывод:
<р>2. В меню «Файл» выберите «Создать», а затем выберите «Проект». Появится диалоговое окно «Новый проект».<р>3. Установите тип проекта на проекты CLR.
<р>4. Установите в качестве шаблонов консольное приложение CLR . <р>5. Введите Животные в текстовое поле Имя. <р>6. Выберите подходящее место для нового проекта. Нажмите ОК .<р>7. В обозревателе решений дважды щелкните файл Animals.cpp в папке исходных файлов.
<р>8. Непосредственно под используемым пространством имен System; добавьте следующее определение класса:
Чтобы объявить класс в C++, вы используете ключевое слово class, за которым следует имя класса, например Animal в этом примере, а затем вы перечисляете все переменные-члены класса, функции и методы между открывающей фигурной скобкой ( < ) и закрывающая фигурная скобка ( >). Итак, вы создали класс Animal с переменной int для количества его ног и переменной String для его имени. В нынешнем виде ни одна другая программа или класс не сможет получить доступ к этим переменным. Члены класса, данные и методы по умолчанию являются закрытыми и доступны только для методов самого класса. C++ предоставляет три модификатора доступа: public , private и protected для указания видимости различных членов класса.
Объявление переменных после ключевого слова public делает их обе доступными. Однако обычно не рекомендуется разрешать другим классам и частям вашей программы доступ к переменным класса. Как обсуждалось ранее в разделе об инкапсуляции, лучше скрывать детали реализации класса от пользователей этого класса и контролировать доступ к данным класса с помощью функций. В этом примере ключевое слово private будет использоваться для предотвращения прямого доступа к строковой переменной класса. Ноги переменной int будут оставлены в открытом доступе просто для того, чтобы показать, как основная программа может получить к ним прямой доступ.
Чтобы предоставить доступ к частной переменной String, в класс необходимо добавить общедоступные функции и методы доступа, чтобы другие функции могли управлять его значением.
<р>11. После объявления переменной int и перед модификатором доступа private добавьте следующие объявления методов или строки реализации:
Поскольку эти методы представляют собой небольшие функции, проще всего объявить и реализовать их как встроенные функции. Теперь класс Animal завершен. Синтаксис объявления:
ref class classname
Ключевые слова управления доступом (public, private или protected)
Объявление переменных и методов класса
>
Более полный синтаксис приведен ниже.
class_access ref class модификатор имени : inherit_access base_type < >;
<р>12. В функции main() удалите следующую строку:ссылка на класс MyClass2
public :
int i;
>;
ссылка на класс MyClass2 : public MyClass::MyInterface < p>public:
виртуальный void f()
Животное ^ ящерица = gcnew Животное;
Животное ^ птица = gcnew Животное;
Ключевое слово gcnew, за которым следует класс создаваемого объекта, создает объект в куче CLR, а не в стеке. Адрес памяти созданного объекта возвращается и сохраняется в указателе.
<р>14. Используйте функцию-член SetName, чтобы присвоить имена Lizard и Bird соответствующим объектам ящерицы и птицы и установить переменную ноги для обоих объектов, как показано ниже.lizard->SetName( "Ящерица" );
lizard->legs = 4;
bird->SetName( "Птица" );
птица->ноги = 2;
Для доступа к переменным-членам и функциям необходимо разыменовать указатель одним из двух способов. Вы можете использовать:
Оператор разыменования, звездочка ( * ), за которой следует точка, например (*lizard).legs .
Вы также можете использовать сокращенный оператор для косвенного доступа, который представляет собой знак минус и правую угловую скобку ( -> ).
<р>15. Создав пару объектов Animal и присвоив им данные, вы теперь собираетесь отображать эти данные на экране. Добавьте следующие строки:<р>16. Создайте приложение. Выберите «Сборка решения» в строке меню «Сборка» или используйте сочетание клавиш Ctrl+Shift+B.
<р>17. Если сборка прошла успешно, запустите приложение, выбрав Запустить без отладки в меню Отладка, или используйте сочетание клавиш Ctrl+F5.Коллекция рефакторингов «Создать из использования» для нисходящего программирования позволяет вам вводить код, когда и где вы хотите, без изменения положения курсора или переключения между файлами. Вы можете создавать классы или вводить перечисления, переменные и функции/методы в локальной, классовой или глобальной области. Вызовите эту функцию, введя имя нового символа и поручив Visual Assist создать желаемую цель. Выводится правильный тип цели.
Создать новый курс
Создавайте новые классы-заглушки по мере написания кода. Откройте меню «Создать из использования» из меню VAssistX (Alt+X,R,U), его сочетания клавиш по умолчанию (Shift+Alt+C) или меню «Быстрое действие и рефакторинг» (Shift+Alt+Q).
Вы можете изменить имя файла для нового класса, если хотите, чтобы оно отличалось от имени класса:
Нажмите OK, и все готово. Visual Assist определяет тип параметров конструктора для создания переменных-членов и их автоматической инициализации:
Переменные-члены получат соответствующие имена из заданного списка параметров. Вы можете использовать команду rename для переменных, созданных из констант, чтобы легко давать описательные имена:
Вы также можете вызвать команду, если не передаете параметры. Команда работает как со скобками, так и без них:
Вы можете изменить фрагменты рефакторинга для создания из использования (для класса), чтобы изменить содержимое и формат созданного класса. Для этих фрагментов VA доступны специальные зарезервированные строки.
Создать участника класса
Быстро добавляйте вспомогательный метод или переменную состояния в класс, работая в другом месте этого класса. Visual Assist отличает неизвестные методы от неизвестных переменных, ища круглые скобки после имени символа.
Доступ к «Создать на основе использования» из меню VAssistX (Alt+X,R,U), его сочетания клавиш по умолчанию (Shift+Alt+C) или меню «Быстрое действие и рефакторинг» (Shift+Alt+Q).
Visual Assist использует те же правила языкового ввода, что и компилятор, для определения правильного типа.
Переменная отображается везде, где указано.
Создание из использования также может создавать методы в классе.
По умолчанию выдается исключение времени выполнения, указывающее, что метод не реализован. Вы можете изменить код по умолчанию, отредактировав фрагмент кода VA Refactor Create для соответствующего языка программирования.
Создать параметр для функции/метода
Параметризируйте глобальные функции или статические методы, чтобы стимулировать повторное использование служебного кода.
Вы можете указать нераспознанные символы в качестве параметров, и функция Create from Usage сгенерирует код в соответствующем объявлении и определении метода.
Создать значение перечисления
Определить новое значение перечисления из сайта вызова. Определите из оператора присваивания, сравнения или переключателя (или другой конструкции, в которой тип неизвестного символа может быть выведен как перечисление).
Значения перечисления C++, вставляемые с сайта вызова, должны использовать квалификатор синтаксиса Microsoft::name. Это указывает Visual Assist, что вы добавляете значение перечисления, а не вводите новую переменную типа перечисления.
Создать глобальную функцию
Создание из использования неизвестной функции за пределами области класса приведет к созданию глобальной функции.
Создать локальные или глобальные переменные
При выполнении «Создать из использования» для неизвестной переменной вне области действия класса вам предоставляется выбор: создать параметр для содержащей функции или создать локальную или глобальную переменную.
Форматирование
Управляйте внешним видом параметров (особенно пробелов) с помощью фрагмента VA реализации рефакторинга для каждого языка. Отредактируйте фрагмент VA тела метода Refactor Create From Usage для каждого языка, чтобы указать код по умолчанию, который будет помещен в созданный метод. Например, вы можете захотеть написать код, который не компилируется, чтобы заставить вас вернуться и написать реализацию.
Если Visual Assist не может определить тип создаваемой переменной или метода, будет вставлен заполнитель "UnknownType".
Мастер классов C++ предоставляет быстрый и простой способ добавить собственные классы кода C++ в ваш проект, чтобы вы могли при желании расширить его собственными функциями. Это преобразует проект только для контента в проект кода. Вы можете получить доступ к мастеру классов C++ следующим образом:
Перед продолжением убедитесь, что у вас установлена Visual Studio 2015 или более поздней версии для рабочего стола Windows. Если вы используете Mac, убедитесь, что у вас установлен Xcode 8 или выше.
В главном редакторе выберите «Файл» > «Новый класс C++».
Появится мастер классов C++, показывающий часто добавляемые классы. Если вы не видите класс, который ищете, вам нужно будет просмотреть весь список иерархии классов. Установите флажок «Показать все классы» в правом верхнем углу окна.
Выберите класс, который хотите добавить, и нажмите кнопку "Далее >".
Затем вам будет предложено ввести имя для вашего нового класса. Сделайте это и нажмите кнопку «Создать класс». Это создаст файлы заголовка (.h) и исходный файл (.cpp).
Имена классов могут содержать только буквенно-цифровые символы и не могут содержать пробелы. Поле уведомит вас, если вы введете недопустимое имя.
Код немедленно откроется в Visual Studio, готовый для редактирования.
Код немедленно откроется в Xcode, готовый для редактирования.
Инструкции по компиляции вашего класса после завершения редактирования см. в документации по компиляции проектов.
Помогите сформировать будущее документации Unreal Engine! Расскажите нам, как у нас дела, чтобы мы могли лучше обслуживать вас.
Читайте также: