Given the base class Book, define a derived class called Encyclopedia. Within the derived Encyclopedia class, define a print_info() method that overrides the Book class' print_info() method 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   python code to be used: class Book:     def __init__(self, title, author, publisher, publication_date):         self.title = title         self.author = author         self.publisher = publisher         self.publication_date = publication_date         def print_info(self):         print('Book Information:')         print('   Book Title:', self.title)         print('   Author:', self.author)         print('   Publisher:', self.publisher)         print('   Publication Date:', self.publication_date) class Encyclopedia(Book):     # TODO: Define constructor with attributes:     #       title, author, publisher, publication_date, edition, num_volumes     # TODO: Define a print_info() method that overrides the print_info()     #       in the Book class if __name__ == "__main__":     title = input()     author = input()     publisher = input()     publication_date = input()          e_title = input()     e_author = input()     e_publisher = input()     e_publication_date = input()     edition = input()     num_volumes = int(input())          my_book = Book(title, author, publisher, publication_date)     my_book.print_info()          my_encyclopedia = Encyclopedia(e_title, e_author, e_publisher, e_publication_date, edition, num_volumes)     my_encyclopedia.print_info()

C++ Programming: From Problem Analysis to Program Design
8th Edition
ISBN:9781337102087
Author:D. S. Malik
Publisher:D. S. Malik
Chapter11: Inheritance And Composition
Section: Chapter Questions
Problem 10PE
icon
Related questions
Question

Given the base class Book, define a derived class called Encyclopedia. Within the derived Encyclopedia class, define a print_info() method that overrides the Book class' print_info() method 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

 

python code to be used:

class Book:
    def __init__(self, title, author, publisher, publication_date):
        self.title = title
        self.author = author
        self.publisher = publisher
        self.publication_date = publication_date
   
    def print_info(self):
        print('Book Information:')
        print('   Book Title:', self.title)
        print('   Author:', self.author)
        print('   Publisher:', self.publisher)
        print('   Publication Date:', self.publication_date)


class Encyclopedia(Book):
    # TODO: Define constructor with attributes:
    #       title, author, publisher, publication_date, edition, num_volumes

    # TODO: Define a print_info() method that overrides the print_info()
    #       in the Book class

if __name__ == "__main__":
    title = input()
    author = input()
    publisher = input()
    publication_date = input()
    
    e_title = input()
    e_author = input()
    e_publisher = input()
    e_publication_date = input()
    edition = input()
    num_volumes = int(input())
    
    my_book = Book(title, author, publisher, publication_date)
    my_book.print_info()
    
    my_encyclopedia = Encyclopedia(e_title, e_author, e_publisher, e_publication_date, edition, num_volumes)
    my_encyclopedia.print_info()

Expert Solution
trending now

Trending now

This is a popular solution!

steps

Step by step

Solved in 3 steps with 1 images

Blurred answer
Knowledge Booster
Developing computer interface
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
  • SEE MORE QUESTIONS
Recommended textbooks for you
C++ Programming: From Problem Analysis to Program…
C++ Programming: From Problem Analysis to Program…
Computer Science
ISBN:
9781337102087
Author:
D. S. Malik
Publisher:
Cengage Learning