- •Отчет по лабораторной работе №3
- •Техническое задание
- •Назначение
- •1. Функциональные характеристики
- •2. Требования к надежности
- •3. Состав и параметры технических средств
- •Требования к программной документации
- •Класс Organizacion
- •Kласс StrahComp
- •Иерархия классов
- •Класс tObject
- •Класс SudoComp
- •Класс Zavod
- •Класс engineer
- •Класс worker
- •Класс Group
- •Главная функция
- •Реализация методов-итераторов
- •Пример программы
Иерархия классов
TObject
Organizacion
group
StrahComp(“Страхвания компания”)
CLERK
WORKER
ENGINEER
Zavod
(“Завод”)
SudoComp(“Судостроительная компания”)
Рисунок 1 - иерархия
Класс tObject
// Абстрактный класс TObject,
// стоящий во главе всей иерархии классов
В данном блоке иницилизируются стандартный конструктор, конструктор с параметрами и конструктор копирования, так же виртуальная функция вывода списка, функция, позволяющая устанавливать название группы.
class TObject
{
public:
TObject();
TObject(char * Name);
TObject(const TObject&);
virtual ~TObject();
virtual void ShowFunc(void) = 0;
// Установка имени
void SetName(char * Name);
protected:
char * name; // Это может быть название организации или название группы
public:
static const int NameSize = 40; // максимальный размер имени
};
Класс Organizacion
//абстрактный класс испытание
Здесь описывается производный класс Organizacion от класса TObject. В нём инициализируются стандартный конструктор, конструктор с параметрами, коструктор копирования, деструктор, виртуальная функция вывода списка, функции установки названия и типа организации. Так же объявляются указатели на начало списка, следущий и предыдущий элементы списка.
#pragma once
#include "stdafx.h"
#include "TObject.h"
class Organizacion : public TObject
{
public:
//конструкторы:
Organizacion();
Organizacion(char* Name);
Organizacion(const Organizacion&);
//деструктор:
~Organizacion();
//виртуальная функция
virtual void ShowFunc(void)=0;
//добавление элемента
static void Add(Organizacion* obj);
//установка имени и типа
void setName(char* Name);
void setType(char* Type);
//вывод списка
static void print();
protected:
char * name;//имя
char * type;//вид испытания
Organizacion * next;//указатель на следующий элемент
Organizacion * prev;//указатель на предидущий элемент
static Organizacion * begin;//указатель на начало списка
static Organizacion * getPrev(Organizacion * obj);
public:
static const int size = 40;
};
Классы StrahComp, SudoComp, Zavod
Kласс StrahComp
Здесь описывается производный класс Organizacion от класса TObject. В нём инициализируются стандартный конструктор, конструктор с параметрами, коструктор копирования, деструктор, функция вывода списка. функция установки и получения пола.
class StrahComp : public Organizacion
{
public:
//конструкоры
StrahComp();
StrahComp(char* Name, int SexOfStrahComp);
StrahComp(const StrahComp&);
//деструктор
~StrahComp();
//функция вывода
void ShowFunc();
//функция установки пола
void setSexOfStrahComp(int SexOfStrahComp);
// Получение пола
int GetSexOfStrahComp();
// Глубокое копирование объекта
void Copy(StrahComp obj);
protected:
int Sex_Of_StrahComp;
};
