Использование в системах программирования графики и мультимедиа
Download 454.62 Kb. Pdf ko'rish
|
Лекция 15. Использование в системах программирования графики и мультимедиа.
Классы
Одной из наиболее полезных фич языка C++ является возможность определять собственные типы данных, которые будут лучше соответствовать в решении конкретных проблем. Вы уже видели, как перечисления и структуры могут использоваться для создания собственных пользовательских типов данных. Например, структура для хранения даты: 1 2 3 struct DateStruct { int day; 4 5 6 int month; int year; }; Перечисления и структуры — это традиционный (не объектно- ориентированный ) мир программирования, в котором мы можем только хранить данные. В C++11 мы можем создать и инициализировать структуру следующим образом: 1 DateStruct today { 12, 11, 2018}; // используем uniform инициализацию Для вывода даты на экран (что может понадобиться выполнить и не раз, и не два) хорошей идеей будет написать отдельную функцию. Например: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 #include struct DateStruct { int day; int month; int year; }; void print(DateStruct &date) { std::cout << date.day<< "/" << date.month << "/" << date.year; } int main() { DateStruct today { 12, 11, 2018}; // используем uniform инициализацию today.day = 18; // используем оператор выбора члена для выбора члена структуры print(today); return 0; } Результат выполнения программы выше: 18/11/2018 В объектно-ориентированном программировании типы данных могут не только содержать данные, но и функции, которые будут работать с этими данными. Для определения такого типа данных в C++ используется ключевое слово class. Использование ключевого слова class определяет новый пользовательский тип данных — класс. В C++ классы очень похожи на структуры, за исключением того, что они обеспечивают гораздо большую мощность и гибкость. Фактически, следующая структура и класс по функционалу идентичны: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 struct DateStruct { int day; int month; int year; }; class DateClass { public: int m_day; int m_month; int m_year; }; Единственным существенным отличием здесь является public — ключевое слово в классе. О нём мы поговорим детальнее в следующем уроке. Так же, как объявление структуры, так же и объявление класса не приводит к выделению какой-либо памяти. Для использования класса нужно объявить переменную этого типа класса: 1 DateClass today { 12, 11, 2018 }; // инициализируем переменную класса DateClass В C++ переменная класса называется экземпляром или объектом класса. Точно так же, как определение переменной фундаментального типа данных (например, int x) приводит к выделению памяти для этой переменной, так же и создание объекта класса (например, DateClass today) приводит к выделению памяти для этого объекта. Методы классов Помимо хранения данных, классы также могут содержать и функции! Функции, определённые внутри класса, называются функциями- Download 454.62 Kb. Do'stlaringiz bilan baham: |
Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling
ma'muriyatiga murojaat qiling