Контрольные вопросы
-
Конструкторы и деструкторы.
-
Правила для конструкторов.
-
Правила для деструкторов.
-
Список инициализации элементов.
-
Конструкторы по умолчанию.
-
Конструкторы копирования.
-
Указатель this.
-
Встраиваемые (inline) функции.
-
Статические данные-члены класса.
-
Статические функции-члены класса.
-
Константные данные-члены класса.
-
Константные функции-члены класса.
-
Константные объекты.
-
Передача параметров функции с помощью ссылок.
-
Передача параметров функции с помощью константных ссылок.
Требования к оформлению отчёта
Отчёт должен быть распечатан на листах А4 с использованием стандартных рамок. Отчёт должен содержать:
-
название дисциплины;
-
номер лабораторной работы;
-
тему лабораторной работы;
-
номер варианта;
-
общие требования к лабораторной работе;
-
тематические требования к лабораторной работе;
-
индивидуальное задание;
Отчёт должен содержать код программы в следующем порядке:
-
интерфейсы классов – файлы *.h;
-
реализация классов – файлы *.cpp;
-
тело функции main ( ) – файл main.cpp;
Отчёт должен содержать результат работы вашей программы.
Отчёт должен содержать выводы. В выводах вы перечисляете синтаксические приемы, которые были использованы вами при разработке программы. Например (ненужное удалить):
Выводы
В лабораторной работе в среде MS Visual C++ 6.0 создано консольное приложение MS Visual C++ 6.0. Программа содержит два класса – Dot и Vec.
Классы содержат данные-члены класса:
закрытые class Dot { private: char name ; } ;
защищённые class Coord { protected: double y ; } ;
открытые class Vec { public: double x , y ; } ;
статические class Dot { static char count ; } ;
константные class Vec { const char name ; } ;
В классах объявлены конструкторы:
конструктор по умолчанию Dot :: Dot ( ) ;
конструктор копирования Dot :: Dot ( Dot D ) ;
конструктор с параметрами Dot :: Dot ( char Name) ;
Реализация конструкторов содержит:
список инициализации Dot :: Dot ( char Name) : name ( Name ) , x ( 0 ) , y ( 0 ) { }
вызов конструктора базового класса Dot :: Dot ( char Name ) : Coord ( ) { name = Name ; }
Классы содержат открытые функции-члены класса:
встраиваемая inline double Dot :: GetX ( ) ;
константная double Dot :: Area ( Dot A , Dot B ) const ;
статическая static int Dot :: GetCount ( ) ;
При объявлении функций-членов класса была использована передача параметров:
по значению double Dot :: Dist ( Dot D ) ;
по указателю double Dot :: Area ( Dot* pA , Dot* pB ) ;
по ссылке double Dot :: Angle ( Dot & B , Dot & C ) ;
с помощью константной ссылки void Vec :: Vector ( const Dot & A , const Dot & B ) ;
с помощью константного указателя void Vec :: Rotate ( const Vec* A , double f ) ;
В программе были использованы:
объекты Dot C ('C' ) ;
указатели на объекты Dot *pC = &C ;
константные объекты const Dot D ('D' , 3 , 4) ;
массив объектов Dot M [ 10 ] ;
динамические объекты Dot *pD = new Dot ;
Выжол Ю.А. Объектно-ориентированное программирование
