Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ООП 02 Лабор Функции-члены класса.doc
Скачиваний:
16
Добавлен:
14.02.2015
Размер:
173.06 Кб
Скачать

Контрольные вопросы

  1. Конструкторы и деструкторы.

  2. Правила для конструкторов.

  3. Правила для деструкторов.

  4. Список инициализации элементов.

  5. Конструкторы по умолчанию.

  6. Конструкторы копирования.

  7. Указатель this.

  8. Встраиваемые (inline) функции.

  9. Статические данные-члены класса.

  10. Статические функции-члены класса.

  11. Константные данные-члены класса.

  12. Константные функции-члены класса.

  13. Константные объекты.

  14. Передача параметров функции с помощью ссылок.

  15. Передача параметров функции с помощью константных ссылок.

Требования к оформлению отчёта

Отчёт должен быть распечатан на листах А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 ;

Выжол Ю.А. Объектно-ориентированное программирование