Answer to Question #208921 in C++ for Farhan khan

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().
1
Expert's answer
2021-06-20T08:11:27-0400
#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!

Comments

No comments. Be the first!

Leave a comment

LATEST TUTORIALS
New on Blog
APPROVED BY CLIENTS