Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лаба 3 вариант 10.docx
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
115.78 Кб
Скачать

Класс SudoComp

Здесь описывается производный класс Organizacion от класса TObject. В нём инициализируются стандартный конструктор, конструктор с параметрами, коструктор копирования, деструктор, функция вывода списка. функции установки пола.

class SudoComp : public Organizacion

{

public:

//конструкторы

SudoComp();

SudoComp(char* Name, int SexOfSudoComp);

SudoComp(const SudoComp&);

//деструктор

~SudoComp();

//функция вывода

void ShowFunc();

void setSex_Of_SudoComp(int SexOfSudoComp);

protected:

int Sex_Of_SudoComp;// пол людей в Судострой.Компания

};

Класс Zavod

Здесь описывается производный класс Organizacion от класса TObject. В нём инициализируются стандартный конструктор, конструктор с параметрами, коструктор копирования, деструктор, функция вывода списка. функциия установки пола.

class Zavod : public Organizacion

{

public:

//конструкторы

Zavod();

Zavod(char *Name, int SexOfZavod);

Zavod(const Zavod&);

//деструктор

~Zavod();

//функция вывода

void ShowFunc();

//функция установки пола людей в Заводе

void setSex_Of_Zavod(int SexOfZavod);

protected:

int Sex_Of_Zavod;// пол людей в Заводе

};

Клаcc CLERK

// Описание виртуального класса CLERK

Здесь описывается производный класс Organizacion от класса TObject. В нём инициализируются стандартный конструктор, конструктор с параметрами, коструктор копирования, деструктор, функция добавления в группу и её просмотра.

class CLERK : public group

{

public:

CLERK(){}

CLERK(char * Name) : group(Name){}

CLERK(const CLERK & GROUP){}

~CLERK(){}

// Добавление объекта в группу

void Add(TObject *obj);

// Просмотр группы

void ShowFunc(void);

};

Класс engineer

// Описание виртуального класса ENGINEER

Здесь описывается производный класс Organizacion от класса TObject. В нём инициализируются стандартный конструктор, конструктор с параметрами, коструктор копирования, деструктор, функция добавления в группу

class ENGINEER : public group

{

public:

ENGINEER(){}

ENGINEER(char * Name) : group(Name){}

ENGINEER(const ENGINEER & GROUP){}

~ENGINEER(){}

// Добавление объекта в группу

void Add(TObject *obj);

};

Класс worker

// Описание виртуального класса WORKER

Здесь описывается производный класс Organizacion от класса TObject. В нём инициализируются стандартный конструктор, конструктор с параметрами, коструктор копирования, деструктор, функция добавления в группу и итератор.

typedef void(*PF)(TObject*, int);

class WORKER : public group

{

public:

//конструкторы и деструктор

WORKER(){}

WORKER(char * Name) : group(Name){}

WORKER(const WORKER & GROUP){}

~WORKER(){}

// Добавление объекта в группу

virtual void Add(TObject *obj);

// Создание итератора

void ForEach(PF action, int Sex_Of_StrahComp);

};

Item

// Связывает объекты TObject в список

struct Item

{

//typedef void(*PF)(TObject*);

// Указатель на следующую структуру списка

Item * next;

// Указатель, по которому хранится элемент

TObject * item;

Item(void)

{

item = NULL;

next = NULL;

}

Item(TObject* Obj, Item* Next = NULL)

{

item = Obj;

next = Next;

}

~Item(void)

{

delete item;

if(next)

delete next;

}

};