- 1
- 2
- 3
- 4
- 5
- . . .
- последняя »
С помощью данного метода все наследники будут делегировать полномочия родителю по вводу общих ключевых полей, которые также описаны в родителе.
Метод Draw в классе Pamiatnik является абстрактным. Дело в том, что класс Pamiatnik не будет непосредственно создаваться, поэтому и выводить свои данные ему незачем. А вот наследники обязаны будут выводить свои данные на экран. Поэтому в базовом классе данный метод является абстрактным.
Метод ToString также является абстрактным. Все наследники обязаны будут его реализовать. Сам же метод будет создавать строку, для записи в файл csv на основании ключевых полей. .2.2 Класс Zdanie
Класс описывает тип здание. Фактически здание наследует все поля от Pamiatnik и добавляет два поля visota и adress. В эти поля заносятся высота памятника и адрес памятника. По правилам, данный класс должен определить все виртуальные классы. Класс Zdanie знает, как себя отобразить, поэтому реализует метод Draw и ToString.
Так как конструкторы не наследуются, то в соответствии с заданием нужно реализовать три конструктора. Один конструктор без параметров, второй с пятью параметрами (значениями для заполнения ключевых полей). Данный конструктор просто делегирует обязанности по заполнению ключевых полей базовому классу Pamiatnik.
Третий конструктор - это конструктор, в которую передаётся лишь одна строка в формате csv. Данный конструктор будет вызываться во время загрузки данных из файла csv. Все данные для одного элемента массива разделяются точкой с запятой. В данном конструкторе входная строка анализируется и раскладывается на ключевые поля.
программный меню пользователь памятник
1.2.3 Класс Kvartal
Класс Kvartal расширяет базовый класс ещё одним ключевым полем - Ploschad. В данное поле заносится строка, в которой указывается размер площади памятника, который есть в квартале. Поле Ploschad является private, именно поэтому для доступа к нему необходимо создать метод set и get.
Также реализуются методы Vvod, Draw и ToString, а также три конструктора. .2.4 Класс Square
Данный класс ничем не отличается от класса Ploschad. В данном классе реализованы все те же поля, что и в предыдущем классе Ploschad. .2.5 Класс Skulptura
Класс Skulptura расширяет базовый класс ещё одним ключевым полем - Avtor. В данное поле заносится строка, в которой указывается имя автора создавшего скульптуру. Поле Avtor является private, именно поэтому для доступа к нему необходимо создать метод set и get.
Также реализуются методы Vvod, Draw и ToString, а также три конструктора. Все классы наследники от класса Pamiatnik выводят себя на экран в общую таблицу, т.е. все общие ключевые поля выводятся каждый в свою колонку, а все отличающиеся в поле примечание. 1.2.6 Класс Massiv_Pamiatnikov
Класс оболочка, которая содержит методы для работы с массивом строк. Так как это класс, то для него должен быть хоть один конструктор. В конструкторе нужно будет проинициализировать только два поля, которые содержит данный класс.
Поле first предназначено для того, чтобы хранить адрес первого памятника в списке. Благодаря этому полю массив знает, с какого элемента необходимо, например, отображать массив или искать какой-то памятник. Поле last предназначено для хранения адреса последнего в массиве памятника. Благодаря этому полю добавление нового элемента в массив осуществляется довольно быстро.
Метод Add_Pamiatnik(Pamiatnik* p) предназначен для
- 1
- 2
- 3
- 4
- 5
- . . .
- последняя »
Похожие работы
Интересная статья: Основы написания курсовой работы