20.9k views
5 votes
Book information (overriding member functions) 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 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 Note: Indentations use 3 spaces. LAB ACTIVITY 11.14.1: LAB: Book information (overriding member functions) File is marked as read only Current file: main.cpp cin >> numVolumes; main.cpp Book.h 25 26 27 28 29 30 31 32 33 34 35 36 myBook. SetTitle(title); myBook. SetAuthor(author); myBook. SetPublisher(publisher); myBook.SetPublicationDate(publicationDate); myBook.PrintInfo(); Book.cpp Encyclopedia.h myEncyclopedia. SetTitle(eTitle); myEncyclopedia. SetAuthor(eAuthor); myEncyclopedia. SetPublisher(ePublisher); myEncyclopedia. SetPublicationDate(ePublicationDate); Encyclopedia.cpp

1 Answer

1 vote

Final answer:

A student is tasked with defining a derived class 'Encyclopedia' that overrides the 'PrintInfo()' method of a 'Book' class to include edition and volume details. Using object-oriented programming principles, the derived class provides additional printing functionality to display complete book information.

Step-by-step explanation:

The student's question involves defining a derived class called Encyclopedia that extends a base class Book. In object-oriented programming, an overriding member function in a derived class provides a new implementation to an inherited method from the base class. In this scenario, the PrintInfo() function must be redefined in the Encyclopedia class to include additional details such as the edition and the number of volumes, alongside the information already printed by the Book class, such as title, author, publisher, and publication date.



For example, using the given input, the PrintInfo() method in the derived Encyclopedia class should print:



  • Book Title: The Illustrated Encyclopedia of the Universe
  • Author: James W. Guthrie
  • Publisher: Watson-Guptill
  • Publication Date: 2001
  • Edition: 2nd
  • Number of Volumes: 1



This demonstrates how inheritance and method overriding are used in software development to extend and specialize classes for different types of objects, maintaining a hierarchical structure of classes that share common attributes and behaviors.

User Nazim Ch
by
4.6k points