Question #208921

Imagine a publishing company that markets both book and audiocassette versions of its
works. Create a class publication that stores the title (a string) and price (type float)
of a publication. From this class derive two classes: book, which adds a page count (type
int), and tape, which adds a playing time in minutes (type float). Each of these three
classes should have a getdata() function to get its data from the user at the keyboard,
and a putdata() function to display its data.
Write a main() program to test the book and tape classes by creating instances of them,
asking the user to fill in data with getdata(), and then displaying the data with putdata().

Expert's answer

#include <iostream>
#include <string>


using namespace std;


class publication
{
private:
	string title;
	float price;
public:


	publication(){


	}
	
	~publication(){}
	
	virtual void getdata()
	{
		cout << "Enter a title of publication: ";
		cin >> title;
		cout << "Enter a price of publication: ";
		cin >> price;
	}
	
	virtual void putdata()
	{
		cout << "The publication title: " << title << "\n";
		cout << "The Publication price: " << price<<"\n";
	}
};


class book :public publication
{
private:
	int pagecount;
public:
	book(){}


	~book(){}


	void getdata()
	{
		publication::getdata();
		cout << "Enter Book Page Count: ";
		cin >> pagecount;
	}
	void putdata()
	{
		publication::putdata();  
		cout << "Book page count: " << pagecount <<"\n";
	}
};


class tape :public publication
{
private:
	float playingtime;
public:
	tape(){}
	~tape(){}
	void getdata()
	{
		publication::getdata();
		cout << "Enter tape playing time: ";
		cin >> playingtime;
	}
	void putdata()
	{
		publication::putdata();
		cout << "Tape's playing time: " << playingtime << "\n";
	}
};
int main(void){
	
	book* newBook=new book();	
	newBook->getdata();
	tape* newTape=new tape();
	newTape->getdata();	
	
	cout<<"\n";
	newBook->putdata();
	newTape->putdata();


	delete newBook;
	delete newTape;
	system("pause");
	return 0;
}

Need a fast expert's response?

Submit order

and get a quick answer at the best price

for any assignment or question with DETAILED EXPLANATIONS!

LATEST TUTORIALS
APPROVED BY CLIENTS