Объектно-ориентированное программирование на языке С++. Ноткин А.М. - 15 стр.

UptoLike

Составители: 

16
Лабораторная работа 2
НАСЛЕДОВАНИЕ И ВИРТУАЛЬНЫЕ ФУНКЦИИ
Цель. Получить практические навыки создания иерархии классов и
использования статических компонентов класса.
Основное содержание работы.
Написать программу, в которой создается иерархия классов. Вклю-
чить полиморфные объекты в связанный список, используя статические
компоненты класса. Показать использование виртуальных функций.
Краткие теоретические сведения.
Статические члены класса.
Такие компоненты должны быть определены в классе, как статиче-
ские (static). Статические данные классов не дублируются при создании
объектов, т.е. каждый статический компонент существует в единственном
экземпляре. Доступ к статическому компоненту возможен только после
его инициализации. Для инициализации используется конструкция
тип имя_класса : : имя_данного инициализатор;
Например, int complex : : count = 0;
Это предложение должно быть размещено в глобальной области по-
сле определения класса. Только при инициализации статическое данное
класса получает память и становится доступным. Обращаться к статиче-
скому данному класса можно обычным образом через имя объекта
имя_объекта.имя_компонента
Но к статическим компонентам можно обращаться и тогда, когда
объект класса
еще не существует. Доступ к статическим компонентам воз-
можен не только через имя объекта, но и через имя класса
имя_класса : : имя_компонента
Однако так можно обращаться только к public компонентам.
Для обращения к private статической компоненте извне можно с по-
мощью статических компонентов-функций. Эти функции можно вы-
звать
через имя класса.
имя_класса : : имя_статической_функции
Пример.
#include <iostream.h>
class TPoint
{
double x,y;
static int N; // статический компонент данное : количество точек
public:
                                    16

                 Лабораторная работа № 2
         НАСЛЕДОВАНИЕ И ВИРТУАЛЬНЫЕ ФУНКЦИИ

     Цель. Получить практические навыки создания иерархии классов и
использования статических компонентов класса.

     Основное содержание работы.
     Написать программу, в которой создается иерархия классов. Вклю-
чить полиморфные объекты в связанный список, используя статические
компоненты класса. Показать использование виртуальных функций.

      Краткие теоретические сведения.
      Статические члены класса.
      Такие компоненты должны быть определены в классе, как статиче-
ские (static). Статические данные классов не дублируются при создании
объектов, т.е. каждый статический компонент существует в единственном
экземпляре. Доступ к статическому компоненту возможен только после
его инициализации. Для инициализации используется конструкция
      тип имя_класса : : имя_данного инициализатор;
      Например, int complex : : count = 0;
      Это предложение должно быть размещено в глобальной области по-
сле определения класса. Только при инициализации статическое данное
класса получает память и становится доступным. Обращаться к статиче-
скому данному класса можно обычным образом через имя объекта
      имя_объекта.имя_компонента
      Но к статическим компонентам можно обращаться и тогда, когда
объект класса еще не существует. Доступ к статическим компонентам воз-
можен не только через имя объекта, но и через имя класса
      имя_класса : : имя_компонента
      Однако так можно обращаться только к public компонентам.
      Для обращения к private статической компоненте извне можно с по-
мощью статических компонентов-функций. Эти функции можно вы-
звать через имя класса.
      имя_класса : : имя_статической_функции
      Пример.
      #include 
      class TPoint
      {
        double x,y;
        static int N; // статический компонент − данное : количество точек
         public: