Презентация Прикладное программирование. Конструкторы и деструкторы онлайн

На нашем сайте вы можете скачать и просмотреть онлайн доклад-презентацию на тему Прикладное программирование. Конструкторы и деструкторы абсолютно бесплатно. Урок-презентация на эту тему содержит всего 90 слайдов. Все материалы созданы в программе PowerPoint и имеют формат ppt или же pptx. Материалы и темы для презентаций взяты из открытых источников и загружены их авторами, за качество и достоверность информации в них администрация сайта не отвечает, все права принадлежат их создателям. Если вы нашли то, что искали, отблагодарите авторов - поделитесь ссылкой в социальных сетях, а наш сайт добавьте в закладки.
Презентации » Устройства и комплектующие » Прикладное программирование. Конструкторы и деструкторы



Оцените!
Оцените презентацию от 1 до 5 баллов!
  • Тип файла:
    ppt / pptx (powerpoint)
  • Всего слайдов:
    90 слайдов
  • Для класса:
    1,2,3,4,5,6,7,8,9,10,11
  • Размер файла:
    4.60 MB
  • Просмотров:
    228
  • Скачиваний:
    1
  • Автор:
    неизвестен



Слайды и текст к этой презентации:

№1 слайд
Конструкторы и деструкторы
Содержание слайда: Конструкторы и деструкторы Прикладное программирование

№2 слайд
Конструктор и деструктор При
Содержание слайда: Конструктор и деструктор При создании объектов одной из наиболее широко используемых операций является инициализация элементов данных объекта. Единственным способом, с помощью которого можно обратиться к частным элементам данных, является использование функций класса. Чтобы упростить процесс инициализации элементов данных класса, C++ использует специальную функцию, называемую конструктором, которая запускается для каждого создаваемого объекта. Деструктор запускается при уничтожении объекта. Деструктор обычно используется, если при уничтожении объекта нужно освободить память, которую занимал объект.

№3 слайд
Основные концепции
Содержание слайда: Основные концепции: Конструктор представляет собой метод класса, который облегчает создаваемым программам инициализацию элементов данных класса. Конструктор имеет такое же имя, как и класс. Конструктор не имеет возвращаемого значения. Каждый раз, когда ваша программа создает переменную класса, C++ вызывает конструктор класса, если конструктор существует.

№4 слайд
Основные концепции Многие
Содержание слайда: Основные концепции: Многие объекты могут распределять память для хранения информации; когда уничтожается такой объект, C++ будет вызывать специальный деструктор, который может освобождать эту память, очищая ее после объекта. Деструктор имеет такое же имя, как и класс, за исключением того, что необходимо предварять его имя символом тильды (~). Деструктор не имеет возвращаемого значения.

№5 слайд
Создание простого
Содержание слайда: Создание простого конструктора Добавим в класс Students конструктор, который будет принимать имя и фамилию ученика, и сохранять эти значения в соответствующих переменных класса.

№6 слайд
Создание простого
Содержание слайда: Создание простого конструктора // Конструктор Students Students::Students(std::string name, std::string last_name) { Students::set_name(name); Students::set_last_name(last_name); }

№7 слайд
Создание простого
Содержание слайда: Создание простого конструктора При создании нового объекта, мы должны передать конструктору имя и фамилию студента. Иначе компиляция программы завершится с ошибкой. std::string name = “Иван” std::string last_name =“Иванов” Students *student = new Students(name, last_name);

№8 слайд
Создание простого
Содержание слайда: Создание простого конструктора Теперь добавим прототип конструктора в файл students.h. /* students.h */ #pragma once /* Защита от двойного подключения заголовочного файла */ #include <string>

№9 слайд
Создание простого
Содержание слайда: Создание простого конструктора class Students { public: // Конструктор класса Students Students(std::string, std::string); // Установка имени студента void set_name(std::string); // Получение имени студента std::string get_name();

№10 слайд
Создание простого
Содержание слайда: Создание простого конструктора // Установка фамилии студента void set_last_name(std::string); // Получение фамилии студента std::string get_last_name(); // Установка промежуточных оценок void set_scores(int []);

№11 слайд
Создание простого
Содержание слайда: Создание простого конструктора // Установка среднего балла void set_average_ball(float); // Получение среднего балла float get_average_ball(); private: // Промежуточные оценки int scores[5];

№12 слайд
Создание простого
Содержание слайда: Создание простого конструктора // Средний балл float average_ball; // Имя std::string name; // Фамилия std::string last_name; };

№13 слайд
Создание простого
Содержание слайда: Создание простого конструктора В файле students.cpp определим сам конструктор. /* students.cpp */ #include <string> #include <fstream> #include "students.h"

№14 слайд
Создание простого
Содержание слайда: Создание простого конструктора / Конструктор Students Students::Students(std::string name, std::string last_name) { Students::set_name(name); Students::set_last_name(last_name); }

№15 слайд
Создание простого
Содержание слайда: Создание простого конструктора // Установка имени студента void Students::set_name(std::string student_name) { Students::name = student_name; }

№16 слайд
Создание простого
Содержание слайда: Создание простого конструктора // Получение имени студента std::string Students::get_name() { return Students::name; }

№17 слайд
Создание простого
Содержание слайда: Создание простого конструктора // Установка фамилии студента void Students::set_last_name(std::string student_last_name) { Students::last_name = student_last_name; }

№18 слайд
Создание простого
Содержание слайда: Создание простого конструктора // Получение фамилии студента std::string Students::get_last_name() { return Students::last_name; }

№19 слайд
Создание простого
Содержание слайда: Создание простого конструктора // Установка промежуточных оценок void Students::set_scores(int scores[]) { int sum = 0; for (int i = 0; i < 5; ++i) { Students::scores[i] = scores[i]; sum += scores[i]; } }

№20 слайд
Создание простого
Содержание слайда: Создание простого конструктора // Установка среднего балла void Students::set_average_ball(float ball) { Students::average_ball = ball; }

№21 слайд
Создание простого
Содержание слайда: Создание простого конструктора // Получение среднего балла float Students::get_average_ball() { return Students::average_ball; }

№22 слайд
Создание простого
Содержание слайда: Создание простого конструктора В main() мы принимаем от пользователя имя и фамилию ученика, и сохраняем их во временных локальных переменных. После этого создаем новый объект класса Students, передавая его конструктору эти переменные.

№23 слайд
Создание простого
Содержание слайда: Создание простого конструктора /* main.cpp */ #include <iostream> #include "students.h“ int main(int argc, char *argv[]) { // Локальная переменная, хранящая имя ученика std::string name; // И его фамилию std::string last_name;

№24 слайд
Создание простого
Содержание слайда: Создание простого конструктора // Ввод имени std::cout << "Name: "; getline(std::cin, name); // И фамилии std::cout << "Last name: "; getline(std::cin, last_name);

№25 слайд
Создание простого
Содержание слайда: Создание простого конструктора // Передача параметров конструктору Students *student = new Students(name, last_name); // Оценки int scores[5]; // Сумма всех оценок int sum = 0;

№26 слайд
Создание простого
Содержание слайда: Создание простого конструктора // Ввод промежуточных оценок for (int i = 0; i < 5; ++i) { std::cout << "Score " << i+1 << ": "; std::cin >> scores[i]; // суммирование sum += scores[i]; }

№27 слайд
Создание простого
Содержание слайда: Создание простого конструктора // Сохраняем промежуточные оценки в объект класса Student student->set_scores(scores); // Считаем средний балл float average_ball = sum / 5.0; // Сохраняем средний балл student->set_average_ball(average_ball);

№28 слайд
Создание простого
Содержание слайда: Создание простого конструктора // Выводим данные по студенту std::cout << "Average ball for " << student->get_name() << " " << student->get_last_name() << " is " << student->get_average_ball() << std::endl; // Удаление объекта student из памяти delete student; return 0; }

№29 слайд
Сохранение оценок в файл
Содержание слайда: Сохранение оценок в файл Чтобы после завершения работы с программой, все данные сохранялись, необходимо записывать их в текстовый файл. Пример файла с оценками представлен в следующем виде: Андрей Сидоров 5 5 3 4 5 Иван Иванов 5 3 3 3 3

№30 слайд
Сохранение оценок в файл Для
Содержание слайда: Сохранение оценок в файл Для работы с файлами воспользуемся библиотекой fstream, которая подключается в заголовочном файле с таким же именем. #include <fstream> // Запись данных о студенте в файл void Students::save() { std::ofstream fout("students.txt", std::ios::app);

№31 слайд
Сохранение оценок в файл fout
Содержание слайда: Сохранение оценок в файл fout << Students::get_name() << " " << Students::get_last_name() << " "; for (int i = 0; i < 5; ++i) { fout << Students::scores[i] << " "; } fout << std::endl; fout.close(); }

№32 слайд
Сохранение оценок в файл
Содержание слайда: Сохранение оценок в файл Переменная fout — это объект класса ofstream, который находится внутри библиотеки fstream. Класс ofstream используется для записи каких-либо данных во внешний файл. У него тоже есть конструктор. Он принимает в качестве параметров имя выходного файла и режим записи.

№33 слайд
Сохранение оценок в файл В
Содержание слайда: Сохранение оценок в файл В данном случае, мы используем режим добавления — std::ios:app (append). После завершения работы с файлом, необходимо вызвать метод close() для того, чтобы закрыть файловый дескриптор.

№34 слайд
Сохранение оценок в файл тобы
Содержание слайда: Сохранение оценок в файл тобы сохранить оценки студента, мы будем вызывать только что созданный метод save(). Students student = new Students(“Иван", “Иванов"); student->save();

№35 слайд
Деструктор Логично было бы
Содержание слайда: Деструктор Логично было бы сохранять все оценки после того, как работа со студентом закончена. Для этого создадим деструктор класса Students, который будет вызывать метод save() перед уничтожением объекта. // Деструктор Students Students::~Students() { Students::save(); }

№36 слайд
Деструктор Добавим прототипы
Содержание слайда: Деструктор Добавим прототипы деструктора и метода save() в students.h. /* students.h */ #pragma once /* Защита от двойного подключения заголовочного файла */ #include <string>

№37 слайд
Деструктор class Students
Содержание слайда: Деструктор class Students { public: // Запись данных о студенте в файл void save(); // Деструктор класса Students ~Students();

№38 слайд
Деструктор Конструктор класса
Содержание слайда: Деструктор // Конструктор класса Students Students(std::string, std::string); // Установка имени студента void set_name(std::string); // Получение имени студента std::string get_name();

№39 слайд
Деструктор Установка фамилии
Содержание слайда: Деструктор // Установка фамилии студента void set_last_name(std::string); // Получение фамилии студента std::string get_last_name();

№40 слайд
Деструктор Установка
Содержание слайда: Деструктор // Установка промежуточных оценок void set_scores(int []); // Получение массива с промежуточными оценками int *get_scores(); // Получение строки с промежуточными оценками std::string get_scores_str(char);

№41 слайд
Деструктор Установка среднего
Содержание слайда: Деструктор // Установка среднего балла void set_average_ball(float); // Получение среднего балла float get_average_ball(); private: // Промежуточные оценки int scores[5];

№42 слайд
Деструктор Средний балл float
Содержание слайда: Деструктор // Средний балл float average_ball; // Имя std::string name; // Фамилия std::string last_name; };

№43 слайд
Деструктор И определим эти
Содержание слайда: Деструктор И определим эти функции в students.cpp. /* students.cpp */ #include <string> #include <fstream> #include "students.h"

№44 слайд
Деструктор Деструктор
Содержание слайда: Деструктор // Деструктор Students Students::~Students() { Students::save(); }

№45 слайд
Деструктор Запись данных о
Содержание слайда: Деструктор // Запись данных о студенте в файл void Students::save() { std::ofstream fout("students.txt", std::ios::app); fout << Students::get_name() << " " << Students::get_last_name() << " "; for (int i = 0; i < 5; ++i) { fout << Students::scores[i] << " "; } fout << std::endl; fout.close(); }

№46 слайд
Деструктор Конструктор
Содержание слайда: Деструктор // Конструктор Students Students::Students(std::string name, std::string last_name) { Students::set_name(name); Students::set_last_name(last_name); }

№47 слайд
Деструктор Установка имени
Содержание слайда: Деструктор // Установка имени студента void Students::set_name(std::string student_name) { Students::name = student_name; }

№48 слайд
Деструктор Получение имени
Содержание слайда: Деструктор // Получение имени студента std::string Students::get_name() { return Students::name; }

№49 слайд
Деструктор Установка фамилии
Содержание слайда: Деструктор // Установка фамилии студента void Students::set_last_name(std::string student_last_name) { Students::last_name = student_last_name; }

№50 слайд
Деструктор Получение фамилии
Содержание слайда: Деструктор // Получение фамилии студента std::string Students::get_last_name() { return Students::last_name; }

№51 слайд
Деструктор Установка
Содержание слайда: Деструктор // Установка промежуточных оценок void Students::set_scores(int scores[]) { int sum = 0; for (int i = 0; i < 5; ++i) { Students::scores[i] = scores[i]; sum += scores[i]; } }

№52 слайд
Деструктор Получение массива
Содержание слайда: Деструктор // Получение массива с промежуточными оценками int *Students::get_scores() { return Students::scores; }

№53 слайд
Деструктор Установка среднего
Содержание слайда: Деструктор // Установка среднего балла void Students::set_average_ball(float ball) { Students::average_ball = ball; }

№54 слайд
Деструктор Получение среднего
Содержание слайда: Деструктор / Получение среднего балла float Students::get_average_ball() { return Students::average_ball; }

№55 слайд
Содержание слайда:

№56 слайд
Содержание слайда:

№57 слайд
Содержание слайда:

№58 слайд
Содержание слайда:

№59 слайд
Содержание слайда:

№60 слайд
Содержание слайда:

№61 слайд
Содержание слайда:

№62 слайд
Содержание слайда:

№63 слайд
Содержание слайда:

№64 слайд
Содержание слайда:

№65 слайд
Содержание слайда:

№66 слайд
Содержание слайда:

№67 слайд
Содержание слайда:

№68 слайд
Содержание слайда:

№69 слайд
Содержание слайда:

№70 слайд
Содержание слайда:

№71 слайд
Содержание слайда:

№72 слайд
Содержание слайда:

№73 слайд
Содержание слайда:

№74 слайд
Содержание слайда:

№75 слайд
Содержание слайда:

№76 слайд
Содержание слайда:

№77 слайд
Содержание слайда:

№78 слайд
Содержание слайда:

№79 слайд
Содержание слайда:

№80 слайд
Содержание слайда:

№81 слайд
Содержание слайда:

№82 слайд
Содержание слайда:

№83 слайд
Содержание слайда:

№84 слайд
Содержание слайда:

№85 слайд
Содержание слайда:

№86 слайд
Содержание слайда:

№87 слайд
Содержание слайда:

№88 слайд
Содержание слайда:

№89 слайд
Содержание слайда:

№90 слайд
Содержание слайда:

Скачать все slide презентации Прикладное программирование. Конструкторы и деструкторы одним архивом: