#include <iostream>
#include <string>
using namespace std;
class Book {
public :
void assign( string, string, int , float ) ; // constructor
string getTitle( ) ;
string getAuthor( ) ;
int getCopyRightYear( ) ;
float getPrice( ) ;
private :
string title;
string author;
int copyRightYear;
float price;
} ;
// constructor function
void Book:: assign ( string bookTitle, string bookAuthor, int bookDate, float bookPrice) {
title = bookTitle;
author = bookAuthor;
copyRightYear = bookDate;
price = bookPrice;
}
// getter methods
string Book:: getTitle ( ) {
return title;
}
string Book:: getAuthor ( ) {
return author;
}
int Book:: getCopyRightYear ( ) {
return copyRightYear;
}
float Book:: getPrice ( ) {
return price;
}
int main( ) {
cout << "Here are some of my favorite books ...\n " << endl;
Book b1, b2, b3, b4, b5;
// Book 1
b1.assign ( "Atomic Habits" , "James Clear" , 2018 , 11.98 ) ;
cout << b1.getTitle ( ) << " authored by " << b1.getAuthor ( ) << " in the year " << b1.getCopyRightYear ( ) << endl;
cout << "The price of this book is: $" << b1.getPrice ( ) << "\n " << endl;
// Book 2
b2.assign ( "Dune" , "Frank Herbert" , 1965 , 9.99 ) ;
cout << b2.getTitle ( ) << " authored by " << b2.getAuthor ( ) << " in the year " << b2.getCopyRightYear ( ) << endl;
cout << "The price of this book is: $" << b2.getPrice ( ) << "\n " << endl;
// Book 3
b3.assign ( "Born a Crime" , "Trevor Noah" , 2016 , 14.99 ) ;
cout << b3.getTitle ( ) << " authored by " << b3.getAuthor ( ) << " in the year " << b3.getCopyRightYear ( ) << endl;
cout << "The price of this book is: $" << b3.getPrice ( ) << "\n " << endl;
// Book 4
b4.assign ( "The Pragmatic Programmer" , "Andrew Hunt & David Thomas" , 1999 , 42.35 ) ;
cout << b4.getTitle ( ) << " authored by " << b4.getAuthor ( ) << " in the year " << b4.getCopyRightYear ( ) << endl;
cout << "The price of this book is: $" << b4.getPrice ( ) << "\n " << endl;
// Book 5
b5.assign ( "The Martian" , "Andy Weir" , 2011 , 12.99 ) ;
cout << b5.getTitle ( ) << " authored by " << b5.getAuthor ( ) << " in the year " << b5.getCopyRightYear ( ) << endl;
cout << "The price of this book is: $" << b5.getPrice ( ) << "\n " << endl;
return 0 ;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8c3RyaW5nPgoKdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCmNsYXNzIEJvb2sgewogIHB1YmxpYzoKICAgICAgdm9pZCBhc3NpZ24oc3RyaW5nLCBzdHJpbmcsIGludCwgZmxvYXQpOyAvLyBjb25zdHJ1Y3RvcgogICAgICBzdHJpbmcgZ2V0VGl0bGUoKTsKICAgICAgc3RyaW5nIGdldEF1dGhvcigpOwogICAgICBpbnQgZ2V0Q29weVJpZ2h0WWVhcigpOwogICAgICBmbG9hdCBnZXRQcmljZSgpOwoKICBwcml2YXRlOgogICAgICBzdHJpbmcgdGl0bGU7CiAgICAgIHN0cmluZyBhdXRob3I7CiAgICAgIGludCBjb3B5UmlnaHRZZWFyOwogICAgICBmbG9hdCBwcmljZTsKfTsKCi8vIGNvbnN0cnVjdG9yIGZ1bmN0aW9uCnZvaWQgQm9vazo6YXNzaWduKHN0cmluZyBib29rVGl0bGUsIHN0cmluZyBib29rQXV0aG9yLCBpbnQgYm9va0RhdGUsIGZsb2F0IGJvb2tQcmljZSkgewogICAgdGl0bGUgPSBib29rVGl0bGU7CiAgICBhdXRob3IgPSBib29rQXV0aG9yOwogICAgY29weVJpZ2h0WWVhciA9IGJvb2tEYXRlOwogICAgcHJpY2UgPSBib29rUHJpY2U7Cn0KCi8vIGdldHRlciBtZXRob2RzCnN0cmluZyBCb29rOjpnZXRUaXRsZSgpIHsKICAgIHJldHVybiB0aXRsZTsKfQoKc3RyaW5nIEJvb2s6OmdldEF1dGhvcigpIHsKICAgIHJldHVybiBhdXRob3I7Cn0KCmludCBCb29rOjpnZXRDb3B5UmlnaHRZZWFyKCkgewogICAgcmV0dXJuIGNvcHlSaWdodFllYXI7Cn0KCmZsb2F0IEJvb2s6OmdldFByaWNlKCkgewogICAgcmV0dXJuIHByaWNlOwp9CgppbnQgbWFpbigpIHsKICAgIGNvdXQgPDwgIkhlcmUgYXJlIHNvbWUgb2YgbXkgZmF2b3JpdGUgYm9va3MgLi4uXG4iIDw8IGVuZGw7CgogICAgQm9vayBiMSwgYjIsIGIzLCBiNCwgYjU7CgogICAgLy8gQm9vayAxCiAgICBiMS5hc3NpZ24oIkF0b21pYyBIYWJpdHMiLCAiSmFtZXMgQ2xlYXIiLCAyMDE4LCAxMS45OCk7CiAgICBjb3V0IDw8IGIxLmdldFRpdGxlKCkgPDwgIiBhdXRob3JlZCBieSAiIDw8IGIxLmdldEF1dGhvcigpIDw8ICIgaW4gdGhlIHllYXIgIiA8PCBiMS5nZXRDb3B5UmlnaHRZZWFyKCkgPDwgZW5kbDsKICAgIGNvdXQgPDwgIlRoZSBwcmljZSBvZiB0aGlzIGJvb2sgaXM6ICAkIiA8PCBiMS5nZXRQcmljZSgpIDw8ICJcbiIgPDwgZW5kbDsKCiAgICAvLyBCb29rIDIKICAgIGIyLmFzc2lnbigiRHVuZSIsICJGcmFuayBIZXJiZXJ0IiwgMTk2NSwgOS45OSk7CiAgICBjb3V0IDw8IGIyLmdldFRpdGxlKCkgPDwgIiBhdXRob3JlZCBieSAiIDw8IGIyLmdldEF1dGhvcigpIDw8ICIgaW4gdGhlIHllYXIgIiA8PCBiMi5nZXRDb3B5UmlnaHRZZWFyKCkgPDwgZW5kbDsKICAgIGNvdXQgPDwgIlRoZSBwcmljZSBvZiB0aGlzIGJvb2sgaXM6ICAkIiA8PCBiMi5nZXRQcmljZSgpIDw8ICJcbiIgPDwgZW5kbDsKCiAgICAvLyBCb29rIDMKICAgIGIzLmFzc2lnbigiQm9ybiBhIENyaW1lIiwgIlRyZXZvciBOb2FoIiwgMjAxNiwgMTQuOTkpOwogICAgY291dCA8PCBiMy5nZXRUaXRsZSgpIDw8ICIgYXV0aG9yZWQgYnkgIiA8PCBiMy5nZXRBdXRob3IoKSA8PCAiIGluIHRoZSB5ZWFyICIgPDwgYjMuZ2V0Q29weVJpZ2h0WWVhcigpIDw8IGVuZGw7CiAgICBjb3V0IDw8ICJUaGUgcHJpY2Ugb2YgdGhpcyBib29rIGlzOiAgJCIgPDwgYjMuZ2V0UHJpY2UoKSA8PCAiXG4iIDw8IGVuZGw7CgogICAgLy8gQm9vayA0CiAgICBiNC5hc3NpZ24oIlRoZSBQcmFnbWF0aWMgUHJvZ3JhbW1lciIsICJBbmRyZXcgSHVudCAmIERhdmlkIFRob21hcyIsIDE5OTksIDQyLjM1KTsKICAgIGNvdXQgPDwgYjQuZ2V0VGl0bGUoKSA8PCAiIGF1dGhvcmVkIGJ5ICIgPDwgYjQuZ2V0QXV0aG9yKCkgPDwgIiBpbiB0aGUgeWVhciAiIDw8IGI0LmdldENvcHlSaWdodFllYXIoKSA8PCBlbmRsOwogICAgY291dCA8PCAiVGhlIHByaWNlIG9mIHRoaXMgYm9vayBpczogICQiIDw8IGI0LmdldFByaWNlKCkgPDwgIlxuIiA8PCBlbmRsOwoKICAgIC8vIEJvb2sgNQogICAgYjUuYXNzaWduKCJUaGUgTWFydGlhbiIsICJBbmR5IFdlaXIiLCAyMDExLCAxMi45OSk7CiAgICBjb3V0IDw8IGI1LmdldFRpdGxlKCkgPDwgIiBhdXRob3JlZCBieSAiIDw8IGI1LmdldEF1dGhvcigpIDw8ICIgaW4gdGhlIHllYXIgIiA8PCBiNS5nZXRDb3B5UmlnaHRZZWFyKCkgPDwgZW5kbDsKICAgIGNvdXQgPDwgIlRoZSBwcmljZSBvZiB0aGlzIGJvb2sgaXM6ICAkIiA8PCBiNS5nZXRQcmljZSgpIDw8ICJcbiIgPDwgZW5kbDsKCiAgICByZXR1cm4gMDsKfQoK