Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
67
Добавлен:
10.12.2013
Размер:
3.91 Кб
Скачать
#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 






Соседние файлы в папке Lab 2a
  • #
    10.12.20133.91 Кб67class.h
  • #
    10.12.20134.64 Кб67fun.cpp
  • #
    10.12.20134.4 Кб66Lab 2a.dsp
  • #
    10.12.2013537 б66Lab 2a.dsw
  • #
    10.12.201366.56 Кб67Lab 2a.ncb
  • #
    10.12.201348.64 Кб67Lab 2a.opt