Использование в системах программирования графики и мультимедиа


Download 454.62 Kb.
Pdf ko'rish
bet7/10
Sana23.04.2023
Hajmi454.62 Kb.
#1383220
TuriЛекция
1   2   3   4   5   6   7   8   9   10
Bog'liq
Лекция 15. Использование в системах программирования графики и мультимедиа.

Классы 
 
Одной из наиболее полезных 
фич
 языка C++ является возможность 
определять собственные типы данных, которые будут лучше 
соответствовать в решении конкретных проблем. Вы уже видели
как 
перечисления
 и 
структуры
 могут 
использоваться для создания 
собственных пользовательских типов данных. Например, структура для 
хранения даты: 



struct DateStruct 

int day; 





int month; 
int year; 
}; 
Перечисления и структуры — это традиционный (не 
объектно-
ориентированный
) мир программирования, в котором мы можем только 
хранить данные. В C++11 мы можем создать и инициализировать структуру 
следующим образом: 
1 DateStruct today { 12, 11, 2018}; // используем uniform инициализацию 
Для вывода даты на экран (что может понадобиться выполнить и не раз, и 
не два) хорошей идеей будет написать отдельную функцию. Например: 









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++ классы очень похожи на структуры, за исключением того, что они 
обеспечивают гораздо большую мощность и гибкость. Фактически
следующая структура и класс по функционалу идентичны: 









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 — ключевое 
слово в классе. О нём мы поговорим детальнее в следующем уроке. 
Так же, как объявление структуры, так же и объявление класса не приводит 
к выделению какой-либо памяти. Для использования класса нужно 
объявить переменную этого типа класса: 

DateClass today { 12, 11, 2018 }; // инициализируем переменную класса 
DateClass 
В C++ переменная класса называется экземпляром или объектом класса
Точно так же, как определение переменной фундаментального типа данных 
(например, int x) приводит к выделению памяти для этой переменной, 


так же и создание объекта класса (например, DateClass today) 
приводит к выделению памяти для этого объекта. 
Методы классов 
Помимо хранения данных, классы также могут содержать и функции! 
Функции, определённые внутри класса, называются функциями-

Download 454.62 Kb.

Do'stlaringiz bilan baham:
1   2   3   4   5   6   7   8   9   10




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling