#include <iostream>
#include <string>
using namespace std;
class Book {
public :
void assign ( string, string, int , float ) ;
string getTitle( ) ;
string getAuthor( ) ;
int getCopyRightYear( ) ;
float getPrice( ) ;
private :
string title;
string author;
int copyRightYear;
float price;
} ;
void Book:: assign ( string bookTitle, string bookAuthor, int bookDate, float bookPrice) {
title = bookTitle;
author = bookAuthor;
copyRightYear = bookDate;
price = bookPrice;
}
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 modern books ...\n " << endl;
Book b1, b2, b3, b4, b5;
b1.assign ( "Clean Architecture" , "Robert C. Martin" , 2017 , 33.99 ) ;
cout << b1.getTitle ( ) << " authored by " << b1.getAuthor ( ) << " in the year " << b1.getCopyRightYear ( ) << endl;
cout << "Price: $" << b1.getPrice ( ) << "\n \n " ;
b2.assign ( "The Rust Programming Language" , "Steve Klabnik & Carol Nichols" , 2019 , 44.99 ) ;
cout << b2.getTitle ( ) << " authored by " << b2.getAuthor ( ) << " in the year " << b2.getCopyRightYear ( ) << endl;
cout << "Price: $" << b2.getPrice ( ) << "\n \n " ;
b3.assign ( "Designing Data-Intensive Applications" , "Martin Kleppmann" , 2017 , 49.95 ) ;
cout << b3.getTitle ( ) << " authored by " << b3.getAuthor ( ) << " in the year " << b3.getCopyRightYear ( ) << endl;
cout << "Price: $" << b3.getPrice ( ) << "\n \n " ;
b4.assign ( "Python Crash Course, 2nd Edition" , "Eric Matthes" , 2019 , 29.99 ) ;
cout << b4.getTitle ( ) << " authored by " << b4.getAuthor ( ) << " in the year " << b4.getCopyRightYear ( ) << endl;
cout << "Price: $" << b4.getPrice ( ) << "\n \n " ;
b5.assign ( "Kubernetes Up & Running" , "Brendan Burns, Joe Beda, Kelsey Hightower" , 2019 , 39.99 ) ;
cout << b5.getTitle ( ) << " authored by " << b5.getAuthor ( ) << " in the year " << b5.getCopyRightYear ( ) << endl;
cout << "Price: $" << b5.getPrice ( ) << "\n \n " ;
return 0 ;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8c3RyaW5nPgoKdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCmNsYXNzIEJvb2sgewogIHB1YmxpYzoKICAgICAgdm9pZCBhc3NpZ24gKHN0cmluZywgc3RyaW5nLCBpbnQsIGZsb2F0KTsKICAgICAgc3RyaW5nIGdldFRpdGxlKCk7CiAgICAgIHN0cmluZyBnZXRBdXRob3IoKTsKICAgICAgaW50ICAgIGdldENvcHlSaWdodFllYXIoKTsKICAgICAgZmxvYXQgIGdldFByaWNlKCk7CgogIHByaXZhdGU6CiAgICAgIHN0cmluZyB0aXRsZTsKICAgICAgc3RyaW5nIGF1dGhvcjsKICAgICAgaW50ICAgIGNvcHlSaWdodFllYXI7CiAgICAgIGZsb2F0ICBwcmljZTsKfTsKCnZvaWQgQm9vazo6YXNzaWduIChzdHJpbmcgYm9va1RpdGxlLCBzdHJpbmcgYm9va0F1dGhvciwgaW50IGJvb2tEYXRlLCBmbG9hdCBib29rUHJpY2UpIHsKICAgIHRpdGxlID0gYm9va1RpdGxlOwogICAgYXV0aG9yID0gYm9va0F1dGhvcjsKICAgIGNvcHlSaWdodFllYXIgPSBib29rRGF0ZTsKICAgIHByaWNlID0gYm9va1ByaWNlOyAgICAKfQoKc3RyaW5nIEJvb2s6OmdldFRpdGxlKCkgeyByZXR1cm4gdGl0bGU7IH0Kc3RyaW5nIEJvb2s6OmdldEF1dGhvcigpIHsgcmV0dXJuIGF1dGhvcjsgfQppbnQgQm9vazo6Z2V0Q29weVJpZ2h0WWVhcigpIHsgcmV0dXJuIGNvcHlSaWdodFllYXI7IH0KZmxvYXQgQm9vazo6Z2V0UHJpY2UoKSB7IHJldHVybiBwcmljZTsgfQoKaW50IG1haW4oKQp7CiAgICBjb3V0IDw8ICJIZXJlIGFyZSBzb21lIG9mIG15IGZhdm9yaXRlIG1vZGVybiBib29rcyAuLi5cbiIgPDwgZW5kbDsKCiAgICBCb29rIGIxLCBiMiwgYjMsIGI0LCBiNTsKCiAgICBiMS5hc3NpZ24oIkNsZWFuIEFyY2hpdGVjdHVyZSIsICJSb2JlcnQgQy4gTWFydGluIiwgMjAxNywgMzMuOTkpOwogICAgY291dCA8PCBiMS5nZXRUaXRsZSgpIDw8ICIgYXV0aG9yZWQgYnkgIiA8PCBiMS5nZXRBdXRob3IoKSA8PCAiIGluIHRoZSB5ZWFyICIgPDwgYjEuZ2V0Q29weVJpZ2h0WWVhcigpIDw8IGVuZGw7CiAgICBjb3V0IDw8ICJQcmljZTogJCIgPDwgYjEuZ2V0UHJpY2UoKSA8PCAiXG5cbiI7CgogICAgYjIuYXNzaWduKCJUaGUgUnVzdCBQcm9ncmFtbWluZyBMYW5ndWFnZSIsICJTdGV2ZSBLbGFibmlrICYgQ2Fyb2wgTmljaG9scyIsIDIwMTksIDQ0Ljk5KTsKICAgIGNvdXQgPDwgYjIuZ2V0VGl0bGUoKSA8PCAiIGF1dGhvcmVkIGJ5ICIgPDwgYjIuZ2V0QXV0aG9yKCkgPDwgIiBpbiB0aGUgeWVhciAiIDw8IGIyLmdldENvcHlSaWdodFllYXIoKSA8PCBlbmRsOwogICAgY291dCA8PCAiUHJpY2U6ICQiIDw8IGIyLmdldFByaWNlKCkgPDwgIlxuXG4iOwoKICAgIGIzLmFzc2lnbigiRGVzaWduaW5nIERhdGEtSW50ZW5zaXZlIEFwcGxpY2F0aW9ucyIsICJNYXJ0aW4gS2xlcHBtYW5uIiwgMjAxNywgNDkuOTUpOwogICAgY291dCA8PCBiMy5nZXRUaXRsZSgpIDw8ICIgYXV0aG9yZWQgYnkgIiA8PCBiMy5nZXRBdXRob3IoKSA8PCAiIGluIHRoZSB5ZWFyICIgPDwgYjMuZ2V0Q29weVJpZ2h0WWVhcigpIDw8IGVuZGw7CiAgICBjb3V0IDw8ICJQcmljZTogJCIgPDwgYjMuZ2V0UHJpY2UoKSA8PCAiXG5cbiI7CgogICAgYjQuYXNzaWduKCJQeXRob24gQ3Jhc2ggQ291cnNlLCAybmQgRWRpdGlvbiIsICJFcmljIE1hdHRoZXMiLCAyMDE5LCAyOS45OSk7CiAgICBjb3V0IDw8IGI0LmdldFRpdGxlKCkgPDwgIiBhdXRob3JlZCBieSAiIDw8IGI0LmdldEF1dGhvcigpIDw8ICIgaW4gdGhlIHllYXIgIiA8PCBiNC5nZXRDb3B5UmlnaHRZZWFyKCkgPDwgZW5kbDsKICAgIGNvdXQgPDwgIlByaWNlOiAkIiA8PCBiNC5nZXRQcmljZSgpIDw8ICJcblxuIjsKCiAgICBiNS5hc3NpZ24oIkt1YmVybmV0ZXMgVXAgJiBSdW5uaW5nIiwgIkJyZW5kYW4gQnVybnMsIEpvZSBCZWRhLCBLZWxzZXkgSGlnaHRvd2VyIiwgMjAxOSwgMzkuOTkpOwogICAgY291dCA8PCBiNS5nZXRUaXRsZSgpIDw8ICIgYXV0aG9yZWQgYnkgIiA8PCBiNS5nZXRBdXRob3IoKSA8PCAiIGluIHRoZSB5ZWFyICIgPDwgYjUuZ2V0Q29weVJpZ2h0WWVhcigpIDw8IGVuZGw7CiAgICBjb3V0IDw8ICJQcmljZTogJCIgPDwgYjUuZ2V0UHJpY2UoKSA8PCAiXG5cbiI7CgogICAgcmV0dXJuIDA7Cn0=