Добавил:
bagiwow
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Программирование / си++ / 2Semestr / Lab_2 / Lab 2a / class
.h#ifndef CLASS
#define CLASS
#include <string.h>
//-------------------------------------------------------------------------------
//-------------------------------------------------------------------------------
class Org
{
private:
protected:
char name[20];
int kol_sotr;
static Org* Beg;
public:
Org* next;
static void Print();
Org ();
Org (char* ,int);
Org (const Org&);
~Org();
virtual void Show ()=0;
virtual void Add()=0;
};
//-------------------------------------------------------------------------------
class StrCom: public Org
{
private:
int kol_zastr;
protected:
public:
StrCom();
StrCom(char*,int,int);
StrCom(const StrCom&);
~StrCom();
void Show();
void Add();
};
//-------------------------------------------------------------------------------
class Zavod: public Org
{
private:
int kol_stan;
protected:
public:
Zavod ();
Zavod(char*,int,int);
Zavod(const Zavod&);
~Zavod();
void Show();
void Add();
};
//-------------------------------------------------------------------------------
class SudCom: public Org
{
private:
int kol_kor;
protected:
public:
SudCom();
SudCom(char*, int, int);
SudCom(const SudCom&);
~SudCom();
void Show();
void Add();
};
//-------------------------------------------------------------------------------
class BIBL
{
char name[20]; //имя
char autor[20]; //автор
float price; //цена
public:
BIBL (); //конструктор без параметров
BIBL (char*,char*,float); //конструктор с параметрами
BIBL (const BIBL&); //конструктор копинования
~BIBL ();// деструктор
void GetName(); //функция получения имени
void GetAutor(); //функция получения автора
void GetPrice(); //функция получения цены
void SetName(char*); //функция изменения имени
void SetAutor(char*); //функция изменения автора
void SetPrice(float); //функция изменения цены
void Set(char*,char*,float); //функция изменения всех параметров
void Show(); //функция показа параметров объекта
};
//----------------------------
BIBL::BIBL ()//конструктор без параметров
{
strcpy(name,"Нет имени");
strcpy(autor,"Нет имени");
price=0;
}
//----------------------------
BIBL::BIBL(char* Name,char* Autor,float Price)//конструктор с параметрами
{
strcpy(name,Name);
strcpy(autor,Autor);
price=Price;
}
//----------------------------
BIBL::BIBL(const BIBL& a)//конструктор копинования
{
strcpy(name,a.name);
strcpy(autor,a.autor);
price=a.price;
cout<<"Вызван конструктор копирования для объекта: "<<this<<endl;
}
//----------------------------
BIBL::~BIBL(){cout<<"Вызван деструктор для объекта: "<<this<<endl;}
//----------------------------
void BIBL::SetPrice(float a) {price=a;}//функция изменения цены
//----------------------------
void BIBL::SetAutor(char* a) {strcpy(autor,a);}//функция изменения автора
//----------------------------
void BIBL::SetName(char*a) {strcpy(name,a);}//функция изменения имени
//----------------------------
void BIBL::Set(char* Name,char* Autor,float Price)//функция изменения всех параметров
{
strcpy(name,Name);
strcpy(autor,Autor);
price=Price;
}
//----------------------------
void BIBL::GetName() {cout<<"Имя:"<<name<<endl;}//функция получения имени
//----------------------------
void BIBL::GetAutor() {cout<<"Автор:"<<autor<<endl;}//функция получения автора
//----------------------------
void BIBL::GetPrice() {cout<<"Цена"<<price<<endl;}//функция получения цены
//----------------------------
void BIBL::Show()//функция показа параметров объекта
{
cout<<"Имя:"<<name<<endl;
cout<<"Автор:"<<autor<<endl;
cout<<"Цена"<<price<<endl;
}
//----------------------------
void Prosm(BIBL a) {a.Show();}
//----------------------------
BIBL Noname(BIBL a)
{
BIBL b=a;
b.SetName("Безымянный");
return b;
}
//----------------------------
#endif