Разработка программы работы класса 'City'
САНКТ-ПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ
УНИВЕРСИТЕТ ТЕЛЕКОММУНИКАЦИЙ им. проф. М.А. Бонч-Бруевича
ФАКУЛЬТЕТ ВЕЧЕРНЕГО И ЗАОЧНОГО ОБУЧЕНИЯ
Контрольная
работа
По
дисциплине «Технологии программирования»
Фамилия: Сасаева
Имя: Валерия
Отчество: Николаевна
Курс:_2
Группа №:_АБ-41з_______
Санкт-Петербург
2016
Задание
объектный ориентированный программирование ввод
Необходимо создать программу работы класса.
Класс представлен следующими параметрами:
«Название города, количество жителей, год
основания, количество музеев. Определить самый древний город».
Действия выполняемые программой:
. Создание объекта с помощью конструктора по
умолчанию.
. Создание объекта с помощью конструктора с
параметрами.
. Создание массива объектов (размерность массива
3 или 4 элемента).
. Инициализация свойств каждого объекта массива
. Просмотр свойств каждого объекта.
. Вычисление заданного параметра для массива
объектов .
Разработка программы
Согласно заданию был разработан класс «City»
с набором свойств «Name»,
«Year», «Count»,
«Museum», а так же набором
методов:
) Конструктор по умолчанию
) Конструктор с параметрами
) Деструктор
) Группа методов для инициализации значений
свойств объекта
) Группа методов для отображения значений свойств
объекта
) Метод для определения самого старого города
среди объектов
Результат работы программы
Код программы с комментариями
Заголовочный файл класса City.h
Файл модуля класса City.cpp
Файл главного модуля main.cpp
Примечание: Скриншоты кода программы преведены
для удобства чтения, тексты кода программы и модули(папка Projects) приложены в
архив контрольной работы.
Ответы
.Что такое класс в объектно-ориентированном
программировании?
Класс - это шаблон, на основе которого может
быть создан конкретный программный объект, он описывает свойства и методы,
определяющие поведение объектов этого класса. Каждый конкретный объект, имеющий
структуру этого класса, называется экземпляром класса.
2. Какую структуру имеет модуль в С++?
Модуль содержит исходный текст на языке C++ и
первоначально представляет собой файл с расширением .cpp.
В дальнейшем каждый такой файл компилируется в объектный файл с расширением .obj.
Объектные файлы, в свою очередь, собираются компоновщиком в выполняемый файл с
расширением .EXE.
Можно добавлять новые модули к проекту, они
содержат в себе так же файл с расширением .cpp
и заголовочный файл с расширением .h.
На примере классов в заголовочном файле
описываются поля и методы класса, а в файле .cpp
находится реализация методов класса.
Необходимо, что бы основной (main)
модуль и модули класса «видели» друг-друга с помощью директивы include.
. Какими средствами осуществляется консольный
ввод данных в языке Си, С++
Традиционный ввод/вывод происходит с
использованием библиотеки <cstdio>. Существует так же библиотека <conio.h>
, ее особенность в том, что она рассчитана только на консольный ввод/вывод,
тогда как <cstdio> может работать с файлами.
Для использования объектно-ориентированного
консольного ввода-вывода с помощью потоков (stream) STL в программу необходимо
включить заголовочный файл <iostream> ( для файлового используется
<fstream>). Это библиотека не используется в Си, где нет классов.
. Какие свойства (принципы)
объектно-ориентированного программирования вы знаете
Инкапсуляция - это механизм, который объединяет
данные и код, манипулирующий этими данными, а также защищает и то, и другое от
внешнего вмешательства или неправильного использования.
Полиморфизм - это свойство, которое позволяет
одно и то же имя использовать для решения двух или более схожих, но технически
разных задач.
Наследование - это процесс, посредством которого
один объект может приобретать свойства другого. Точнее, объект может
наследовать основные свойства другого объекта и добавлять к ним черты,
характерные только для него.
. Сконструируйте простейший класс с
конструктором по умолчанию и конструктором с параметрами. Покажите, как с помощью
этих конструкторов можно создать объекты
Я приведу пример из моего варианта:
City
{:// открытая часть класса();// Конструктор по
умолчанию(string,int,int,int);// Конструктор с параметрами:// Закрытая часть
классаName; //Название городаYear; // Год основанияCount; //Кол-во
жителейMuseum; //Кол-во музеев
{
Name="DefaultCity";=1990;=2000;=3;
}::City(string name, int year, int
count, int museum) //Конструктор
с
параметрами
{=name;=year;=count;
Museum=museum;
}