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

Иерархия классов

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;

};

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]