In C++ Plz LAB: Book information (overriding member functions) Given main() and a base Book class, define a derived class called Encyclopedia with member functions to get and set private class data members of the following types: string to store the edition int to store the number of pages Within the derived Encyclopedia class, define a PrintInfo() member function that overrides the Book class' PrintInfo() function by printing the title, author, publisher, publication date, edition, and number of pages. Ex. If the input is: The Hobbit J. R. R. Tolkien George Allen & Unwin 21 September 1937 The Illustrated Encyclopedia of the Universe Ian Ridpath Watson-Guptill 2001 2nd 384 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: Ian Ridpath Publisher: Watson-Guptill Publication Date: 2001 Edition: 2nd Number of Pages: 384 Note: Indentations use 3 spaces. main.cpp (Unable to edit): #include "Book.h" #include "Encyclopedia.h" #include #include using namespace std; int main() { Book myBook; Encyclopedia myEncyclopedia; string title, author, publisher, publicationDate; string eTitle, eAuthor, ePublisher, ePublicationDate, edition; int numPages; 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 >> numPages; 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.SetNumPages(numPages); myEncyclopedia.PrintInfo(); return 0; } Book.h (Unable to edit): #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 (Unable to edit): #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 (Able to edit): #ifndef ENCYCLOPEDIAH #define ENCYCLOPEDIAH #include "Book.h" class Encyclopedia : public Book { // TODO: Declare mutator functions - // SetEdition(), SetNumPages() // TODO: Declare accessor functions - // GetEdition(), GetNumPages() // TODO: Declare a PrintInfo() function that overrides // the PrintInfo() in Book class // TODO: Declare private data members }; #endif Encyclopedia.cpp #include "Encyclopedia.h" #include // Define functions declared in Encyclopedia.h

Database System Concepts
7th Edition
ISBN:9780078022159
Author:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Chapter1: Introduction
Section: Chapter Questions
Problem 1PE
icon
Related questions
Question

In C++ Plz

LAB: Book information (overriding member functions)

Given main() and a base Book class, define a derived class called Encyclopedia with member functions to get and set private class data members of the following types:

string to store the edition

int to store the number of pages

Within the derived Encyclopedia class, define a PrintInfo() member function that overrides the Book class' PrintInfo() function by printing the title, author, publisher, publication date, edition, and number of pages.

Ex. If the input is:

The Hobbit J. R. R. Tolkien George Allen & Unwin 21 September 1937 The Illustrated Encyclopedia of the Universe Ian Ridpath Watson-Guptill 2001 2nd 384

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: Ian Ridpath Publisher: Watson-Guptill Publication Date: 2001 Edition: 2nd Number of Pages: 384

Note: Indentations use 3 spaces.

main.cpp (Unable to edit):

#include "Book.h"
#include "Encyclopedia.h"
#include <string>
#include <iostream>
using namespace std;

int main() {
Book myBook;
Encyclopedia myEncyclopedia;

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

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 >> numPages;

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.SetNumPages(numPages);
myEncyclopedia.PrintInfo();

return 0;
}

Book.h (Unable to edit):

#ifndef BOOKH
#define BOOKH

#include <string>

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 (Unable to edit):

#include "Book.h"
#include <iostream>

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 (Able to edit):

#ifndef ENCYCLOPEDIAH
#define ENCYCLOPEDIAH

#include "Book.h"

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


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


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


// TODO: Declare private data members

};

#endif

 

Encyclopedia.cpp

#include "Encyclopedia.h"
#include <iostream>

// Define functions declared in Encyclopedia.h

Expert Solution
trending now

Trending now

This is a popular solution!

steps

Step by step

Solved in 3 steps

Blurred answer
Knowledge Booster
Class
Learn more about
Need a deep-dive on the concept behind this application? Look no further. Learn more about this topic, computer-science and related others by exploring similar questions and additional content below.
Similar questions
Recommended textbooks for you
Database System Concepts
Database System Concepts
Computer Science
ISBN:
9780078022159
Author:
Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:
McGraw-Hill Education
Starting Out with Python (4th Edition)
Starting Out with Python (4th Edition)
Computer Science
ISBN:
9780134444321
Author:
Tony Gaddis
Publisher:
PEARSON
Digital Fundamentals (11th Edition)
Digital Fundamentals (11th Edition)
Computer Science
ISBN:
9780132737968
Author:
Thomas L. Floyd
Publisher:
PEARSON
C How to Program (8th Edition)
C How to Program (8th Edition)
Computer Science
ISBN:
9780133976892
Author:
Paul J. Deitel, Harvey Deitel
Publisher:
PEARSON
Database Systems: Design, Implementation, & Manag…
Database Systems: Design, Implementation, & Manag…
Computer Science
ISBN:
9781337627900
Author:
Carlos Coronel, Steven Morris
Publisher:
Cengage Learning
Programmable Logic Controllers
Programmable Logic Controllers
Computer Science
ISBN:
9780073373843
Author:
Frank D. Petruzella
Publisher:
McGraw-Hill Education