Первое с чего стоит начать это дедлайны:

АКТУАЛЬНАЯ ВЕРСИЯ ТУТ

Ведомость Л.Р. поток

Методичка будет совершенствоваться и пополняться по мере выполнения работы автором. Автор не несет ответственности за правильность материала.

В качестве примера будет распариваться вариант номер 1.

Л/р 1 часть 1

Задание:

На одном из столов офиса растёт стопка макулатуры и одноразовой посуды. Сотрудники опасаются, что в определённый момент равновесие нарушится и стопка упадёт. Разработайте для них программу, позволяющую воссоздать стопку и определить, находится ли она в равновесии.

  1. Лист бумаги: ширина, высота, толщина, координаты по двум осям

Создадим класс Paper. Для этого нужно создать 2 файла. Первый файл - заголовочный, в нем будет содержаться все описание класса. В нашем случае это Paper.h. И второй файл Paper.cpp, в нем уже будет реализация всех методов(функций) класса.

Рассмотрим заголовочный файл. Он содержит в себе несколько полей, объявим их приватными.

Class Paper{
private:
	int height;
	int widht;
	int thickness;
	int x;
	int y;
}

Далее требуется создать 3 типа конструкторов, см рисунок.

Untitled

Разберем каждый тип

Первый, конструктор по умолчанию, ни что иное, как создание пустого объекта.

Важно! Все конструкторы должны быть публичными, иначе работать не будет.

Class Paper{
public:
	Paper() = default;
private:
	int height;
	int width;
	int thickness;
	int x;
	int y;
}

Далее требуется конструктор инициализации, если раньше мы создавали просто пустой объект, то теперь во время создания мы будем передавать в него всю информацию

Class Paper{
public:
	Paper() = default;
	Paper(int height, int widht, int thickness, int x, int y);
private:
	int height;
	int width;
	int thickness;
	int x;
	int y;
}

Но этой информации уже будет недостаточно для работы конструктора, вернемся к файлу Paper.cpp и запишем следующее:

#include "Paper.h"
Paper::Paper(int height, int width, int thickness, int x, int y) :
        hieght(hieght), widht(width), thickness(thickness), x(x),
        y(y) {}

Тем самым мы инициализируем все элементы класса. А, и да, все что идет после : навевается списком инициализации.

Остался последний тип конструктора - конструктор копирования.