Презентация Классы, структуры, объекты онлайн
На нашем сайте вы можете скачать и просмотреть онлайн доклад-презентацию на тему Классы, структуры, объекты абсолютно бесплатно. Урок-презентация на эту тему содержит всего 25 слайдов. Все материалы созданы в программе PowerPoint и имеют формат ppt или же pptx. Материалы и темы для презентаций взяты из открытых источников и загружены их авторами, за качество и достоверность информации в них администрация сайта не отвечает, все права принадлежат их создателям. Если вы нашли то, что искали, отблагодарите авторов - поделитесь ссылкой в социальных сетях, а наш сайт добавьте в закладки.
Презентации » Устройства и комплектующие » Классы, структуры, объекты
Оцените!
Оцените презентацию от 1 до 5 баллов!
- Тип файла:ppt / pptx (powerpoint)
- Всего слайдов:25 слайдов
- Для класса:1,2,3,4,5,6,7,8,9,10,11
- Размер файла:102.02 kB
- Просмотров:60
- Скачиваний:0
- Автор:неизвестен
Слайды и текст к этой презентации:
№2 слайд
Содержание слайда: Вопросы для повторения
Из каких шагов состоит построение программы на C++?
Как в тексте программы обнаружить инструкции препроцессора? Приведите примеры инструкций препроцессора.
Назовите 4 основных типа данных, определенных в языке C++.
Можно ли в C++ написать x = y = 3? Почему?
Можно ли вызвать void foo(int & a) следующим образом: foo(x+y); Почему?
Проинтерпретируйте объявление второго параметра main.
int main(int argc, char* argv[])
Сколько операций умножения в операторе *p = *p * 2?
Если массив w проинициализирован значениями 1, 2, 3. Чему равно значение выражения *w?
Чему равна величина p + i, где p – указатель на массив целых, а i – целое число?
№4 слайд
Содержание слайда: Классы, структуры, объекты
Классы объявляются по аналогии с C#
class CDate {
int m_nYear;
int m_nMonth;
int m_nDay;
public: //Указывается не перед каждым метдом
CDate();
~CDate() {} //Конструктор, как правило, public
}; //Точка с запятой обязательна!
Объявления, как правило, в заголовочном файле
№6 слайд
Содержание слайда: Объявление и время жизни объектов
#include “Date.h”
int main(){
CDate d; // Это не ссылка, а объект!
return 0;
}
Локальные объекты создаются при выполнении объявления.
Локальные объекты исчезают по завершении блока в котором они были объявлены.
Глобальные объекты объявляются вне блоков.
Глобальные объекты создаются до начала работы программы, а разрушаются после завершения программы
№8 слайд
Содержание слайда: Конструкторы инициализации
CDate::CDate (int Year, int Mon, int Day) {
if (Year < 1 || Year > 10000)
Year = 1;
if (Mon < 1 || Mon > 12)
Mon = 1;
int vDays[12]={31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
if (Mon < 1 || Mon > 12)
Mon = 1;
if (Day < 1 || Day > vDays[Mon-1])
Day = 1;
if (Mon == 2)
if(Day == 29 && (Year % 4 > 0 || (Year % 100 == 0 && Year % 400 >0)))
{
Day = 1;
Mon = 3;
}
m_nYear = Year;
m_nMonth = Mon;
m_nDay = Day;
}
Конструктор обеспечивает правильность создаваемой даты
CDate d(2006, 10, 12), t(2006, 11), e(2006);
№10 слайд
Содержание слайда: Контрольные вопросы
К чему приведет объявление класса в C++ без использования слова public?
Почему в конце объявления класса ставится точка с запятой?
Определите время жизни объекта. Сформулируйте правило, по которому возникают и исчезают объекты в C++.
В чем различие между объектами в C++ и C# (.Net)?
Опишите время жизни объектов в C# (.Net)?
Что такое “конструктор инициализации”?
Опишите правила определения и использования параметров по умолчанию. (Где они указываются и почему, как они расположены в списке параметров, как могут опускаться при вызове)
В чем различие в C++ между struct и class?
Как будет исправлена дата при вызове CDate d(0, 15, 2006), если конструктор реализован как в лекции? Какая дата будет задана при вызове CDate d(2007)?
№11 слайд
Содержание слайда: Вызов функции и inline
Вызов функции требует времени:
Вычислить и поместить в стек параметры
Запомнить адрес возврата
Переключить стек и передать управление на функцию
…
Переключить стек и вернуть управление в вызывающий код
Частые вызовы коротких функций снижают эффективность выполнения программ
Функцию можно пометить квалификатором inline. При этом, компилятор не будет генерировать эту функцию, а в местах вызова сгенерирует код, эквивалентный вызову.
inline int max(int a, int b){return a>b? a: b;}
№12 слайд
Содержание слайда: Переопределение операций
Inline методы
class CDate {
int m_nYear;
int m_nMonth;
int m_nDay;
public:
CDate();
CDate(int Year, int Mon=1, int Day=1);
~CDate() {}
bool operator < (CDate &d) {
return m_nYear < d.m_nYear
|| (m_nYear == d.m_nYear && m_nMonth < d.m_nMonth)
|| (m_nYear == d.m_nYear && m_nMonth == d.m_nMonth && m_nDay < d.m_nDay);
}
};
cout << (t < d) << “ “ << (d < e) << endl;
№14 слайд
Содержание слайда: Глобальные объекты
Глобальный объект должен включаться в h-файл
Что бы избежать, при этом, его экземпляров во множество объектных файлов в языке введен квалификатор extern
H-файл ---------------------------
extern CDate UnixBase;
Один из CPP-файлов ---------------------------
CDate UnixBase(1970,1,1);
В других CPP, где включен h-файл можно использовать UnixBase!
№15 слайд
Содержание слайда: Статические поля
Статические поля объявляются в классе с квалификатором static
H-файл ---------------------------
class CTest
{
public:
static int Count;
};
В CPP-файле ---------------------------
int CTest :: Count = 0
В других CPP, где включен h-файл можно использовать CTest :: Count!
№25 слайд
Содержание слайда: Контрольные вопросы
Что означает запись o.operator = (t)? Как ее можно эквивалентно записать иначе?
Переопределите операцию == для CDate.
Что такое и зачем нужны inline функции и методы?
Как объявить inline метод в классе?
Опишите объявление и использование глобальных переменных в C++. Как их объявить, что бы можно было использовать в разных модулях? Как добиться того, что бы был создан только 1 уникальный экземпляр глобальной переменной?
Опишите объявление статических полей класса в C++.
Перечислите виды конструкторов применяемых в C++.
Почему для CDate не нужен деструктор и конструктор копии, а для CStr нужны?
Почему в конструктор копии передают ссылку на объект, а не копию объекта?
Приведите примеры, когда копии объектов возникают без явного вызова конструктора.
Опишите, чем понятие ссылки в .Net отличается от ссылки в C++.
Скачать все slide презентации Классы, структуры, объекты одним архивом:
-
Классификация структур данных. Лекция 2
-
Кодирование основных типов алгоритмических структур на языках объектно — ориентированного и процедурного программирования
-
Структуры и классы
-
Связи между классами. Объектно-ориентированное программирование. (Лекция 3)
-
Объектно-ориентированное программирование. Классы. Тема 04
-
Классы памяти и область действия объектов
-
Классы и структуры в C
-
Основные понятия объектно-ориентированного программирования. Классы, объекты, методы, свойства
-
Синтаксис ООЯП С. Класс. Объект. Свойства и методы
-
Объекты и классы в PHP