subject

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: " << endl;
cout << " Book Title: " << title << endl;
cout << " Author: " << author << endl;
cout << " Publisher: " << publisher << endl;
cout << " Publication Date: " << publicationDate << endl;
}
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

ansver
Answers: 2

Another question on Computers and Technology

question
Computers and Technology, 21.06.2019 19:30
Keep your choice of a major there is probably no single correct choice.
Answers: 1
question
Computers and Technology, 22.06.2019 06:00
The width of a piece of rectangular land is 5m shorter rhan 1/3 of its length .find the width of the land if the length is 60m,150m.
Answers: 1
question
Computers and Technology, 22.06.2019 08:30
1.the index finger on your right hand types the f r v 4 j u m 7 h y 6 n lo.9 j u 7 m g t 5 b 2.if you need to multiply 400, 2, and 1 ½, what would you type on the numeric keypad? 400*2*1.5 400/2*1.5 400/2/1.5 400*2*1½ 3.select all examples of proper keyboarding technique. rest your fingers gently on the home row or home keys. slouch in your chair. rest your palms on the keyboard. relax your fingers. keep your hands lower than your elbows.
Answers: 1
question
Computers and Technology, 22.06.2019 17:30
Which tab should you open to find the option for adding a header?
Answers: 1
You know the right answer?
Given main() and a base Book class, define a derived class called Encyclopedia. Within the derived E...
Questions
question
Mathematics, 08.12.2020 05:50
Questions on the website: 13722360