Добавил:
Upload
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:
// ex9_1.cpp
// класс публикаций и порожденные из него
/*Представьте себе издательскую компанию, которая торгует книгами и
аудио-записями этих книг. Создайте класс publication, в котором хранятся
название (строка) и цена (типа float) книги. От этого класса наследуются
еще два класса: book, который содержит информацию о количестве страниц
в книге (типа int), и type, который содержит время записи книги в минутах
(тип float). В каждом из этих трех классов должен быть метод getdata(),
через который можно получать данные от пользователя с клавиатуры,
и putdata(), предназначенный для вывода этих данных.
Напишите функцию main() программы для проверки классов book и type.
Создайте их объекты в программе и запросите пользователя ввести и вы-
вести данные с использованием методов getdataQ и putdata(). */
#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 book :private publication // порожденный класс
{
private:
int pages;
public:
void getdata()
{
publication::getdata();
cout << "Введите число страниц:";cin >> pages;
}
void putdata()const
{
publication::putdata();
cout << "\nСтраниц:" << pages;
}
};
///////////////////////////////////////////////////////////
class tape :private publication // порожденный класс
{
private:
float time;
public:
void getdata()
{
publication::getdata();
cout << "Введите время звучания:";cin >> time;
}
void putdata()const
{
publication::putdata();
cout << "\nВремя звучания:" << time;
}
};
///////////////////////////////////////////////////////////
int main()
{
system("chcp 1251 > nul");
book book1; // определить публикации
tape tape1;
book1.getdata(); // получить данные о них
tape1.getdata();
book1.putdata(); // вывести данные о них
tape1.putdata();
cout << endl;
return 0;
}