Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
17
Добавлен:
02.06.2015
Размер:
2.25 Кб
Скачать
// ex9_3.cpp
// множественное наследование класса публикаций
#include <iostream>
#include <string>
using namespace std;
///////////////////////////////////////////////////////////
class publication
{
private:
	string title;
	float price;
public:
	void getdata()
	{
		cout << "\nВведите заголовок:";cin >> title;
		cout << "Введите цену:";cin >> price;
	}
	void putdata()const
	{
		cout << "\nЗаголовок:" << title;
		cout << "\nЦена:" << price;
	}
};
///////////////////////////////////////////////////////////
class sales
{
private:
	enum { MONTHS = 3 };
	float salesArr[MONTHS];
public:
	void getdata();
	void putdata()const;
};
//---------------------------------------------------------
void sales::getdata()
{
	cout << "Введите объем продаж за 3 месяца:\n ";
	for(int j = 0; j < MONTHS; j++)
	{
		cout << " Месяц " << j + 1 << ":";
		cin >> salesArr[j];
	}
}
//---------------------------------------------------------
void sales::putdata()const
{
	for(int j = 0; j < MONTHS; j++)
	{
		cout << "\nПродажи за месяц" << j + 1 << ":";
		cout << salesArr[j];
	}
}
///////////////////////////////////////////////////////////
class book :private publication, private sales
{
private:
	int pages;
public:
	void getdata()
	{
		publication::getdata();
		cout << "Введите число страниц:";cin >> pages;
		sales::getdata();
	}
	void putdata()const
	{
		publication::putdata();
		cout << "\nСтраниц:" << pages;
		sales::putdata();
	}
};
///////////////////////////////////////////////////////////
class tape :private publication, private sales
{
private:
	float time;
public:
	void getdata()
	{
		publication::getdata();
		cout << "Введите время звучания:";cin >> time;
		sales::getdata();
	}
	void putdata()const
	{
		publication::putdata();
		cout << "\nВремя звучания:" << time;
		sales::putdata();
	}
};
///////////////////////////////////////////////////////////
int main()
{
	system("chcp 1251 > nul");

	book book1;         // определить публикации
	tape tape1;

	book1.getdata();    // получить сведения о публикациях
	tape1.getdata();

	book1.putdata();    // вывести сведения о публикациях
	tape1.putdata();
	cout << endl;

	return 0;
}

Соседние файлы в папке множ насл