Given main() and a base Book class, define a derived class called Encyclopedia. Within the derived Encyclopedia class, define a PrintInfo() function that overrides the Book class' PrintInfo() function...


Given main() and a base Book class, define a derived class called Encyclopedia. Within the derived Encyclopedia class, define a PrintInfo() function that overrides the Book class' PrintInfo() function by printing not only the title, author, publisher, and publication date, but also the edition and number of volumes.


Ex. If the input is:


The Hobbit J. R. R. Tolkien George Allen & Unwin 21 September 1937 The Illustrated Encyclopedia of the Universe James W. Guthrie Watson-Guptill 2001 2nd 1


the output is:


Book Information: Book Title: The Hobbit Author: J. R. R. Tolkien Publisher: George Allen & Unwin Publication Date: 21 September 1937 Book Information: Book Title: The Illustrated Encyclopedia of the Universe Author: James W. Guthrie Publisher: Watson-Guptill Publication Date: 2001 Edition: 2nd Number of Volumes: 1


main.cpp


#include "Book.h"
#include "Encyclopedia.h"
#include
#include
using namespace std;


int main(int argc, char* argv[]) {
Book myBook;
Encyclopedia myEncyclopedia;


string title, author, publisher, publicationDate;
string eTitle, eAuthor, ePublisher, ePublicationDate, edition;
int numVolumes;


getline(cin, title);
getline(cin, author);
getline(cin, publisher);
getline(cin, publicationDate);


getline(cin, eTitle);
getline(cin, eAuthor);
getline(cin, ePublisher);
getline(cin, ePublicationDate);
getline(cin, edition);
cin >> numVolumes;


myBook.SetTitle(title);
myBook.SetAuthor(author);
myBook.SetPublisher(publisher);
myBook.SetPublicationDate(publicationDate);
myBook.PrintInfo();


myEncyclopedia.SetTitle(eTitle);
myEncyclopedia.SetAuthor(eAuthor);
myEncyclopedia.SetPublisher(ePublisher);
myEncyclopedia.SetPublicationDate(ePublicationDate);
myEncyclopedia.SetEdition(edition);
myEncyclopedia.SetNumVolumes(numVolumes);
myEncyclopedia.PrintInfo();


return 0;
}



book.h


#ifndef BOOKH
#define BOOKH


#include


using namespace std;


class Book {
public:
void SetTitle(string userTitle);


string GetTitle();


void SetAuthor(string userAuthor);


string GetAuthor();


void SetPublisher(string userPublisher);


string GetPublisher();


void SetPublicationDate(string userPublicationDate);


string GetPublicationDate();


void PrintInfo();


protected:
string title;
string author;
string publisher;
string publicationDate;
};


#endif



book.cpp


#include "Book.h"
#include


void Book::SetTitle(string userTitle) {
title = userTitle;
}


string Book::GetTitle() {
return title;
}


void Book::SetAuthor(string userAuthor) {
author = userAuthor;
}


string Book::GetAuthor() {
return author;
}


void Book::SetPublisher(string userPublisher) {
publisher = userPublisher;
}


string Book::GetPublisher() {
return publisher;
}


void Book::SetPublicationDate(string userPublicationDate) {
publicationDate = userPublicationDate;
}


string Book::GetPublicationDate() {
return publicationDate;
}


void Book::PrintInfo() {
cout < "book="" information:="" "=""><>
cout < "="" book="" title:="" "="">< title=""><>
cout < "="" author:="" "="">< author=""><>
cout < "="" publisher:="" "="">< publisher=""><>
cout < "="" publication="" date:="" "="">< publicationdate=""><>
}



Encyclopedia.h


#ifndef ENCYCLOPEDIAH
#define ENCYCLOPEDIAH


#include "Book.h"


class Encyclopedia : public Book {
// TODO: Declare mutator functions -
// SetEdition(), SetNumVolumes()




// TODO: Declare accessor functions -
// GetEdition(), GetNumVolumes()




// TODO: Declare a PrintInfo() function that overrides
// the PrintInfo in Book class




// TODO: Declare private fields: edition, numVolumes


};


#endif



encyclopedia.cpp



#include "Encyclopedia.h"
#include


// Define functions declared in Encyclopedia.h

Jun 08, 2022
SOLUTION.PDF

Get Answer To This Question

Related Questions & Answers

More Questions »

Submit New Assignment

Copy and Paste Your Assignment Here