#include <iostream>
#include <string>
using namespace std;
// class Book
// with three private data fields: book title, author, copyright, and price
// four public methods to retrieve fields (called "getters")
// and one public non-default constructor
class Book {
public :
// member function prototypes
void releaseDate ( int , int , int ) ;
void authorsName ( string, string, string) ;
void bookMainInfo ( string, string, string, float , string, string) ;
void bookDetailInfo ( string, string, string, string, string) ;
int getMonth( ) ;
int getDay( ) ;
int getYear( ) ;
string getLast( ) ;
string getFirst( ) ;
string getMiddle( ) ;
string getTitleName( ) ;
string getPublisherName( ) ;
string getFormat( ) ;
float getPrice( ) ;
string getStarRating( ) ;
string getSummary( ) ;
string getLanguage( ) ;
string getISBN10( ) ;
string getISBN13( ) ;
string getShippingWeight( ) ;
string getWeightClass( ) ;
private :
// data members
int month;
int day;
int year;
string last;
string first;
string middle;
string titleName;
string publisherName;
string format;
float price;
string starRating;
string summary;
string language;
string ISBN10;
string ISBN13;
string shippingWeight;
string weightClass;
} ;
// these are the actual member functions
// this member function is a "constructor" that will create a new book
void Book:: releaseDate ( int releasehMonth, int releaseDay, int releaseYear) {
month = releasehMonth;
day = releaseDay;
year = releaseYear;
}
// this member function is a "getter" that will retrieve that book title value
int Book:: getMonth ( ) {
return month;
}
int Book:: getDay ( ) {
return day;
}
int Book:: getYear ( ) {
return year;
}
void Book:: authorsName ( string authorsLastName, string authorsFirstName, string authorsMiddleName) {
last = authorsLastName;
first = authorsFirstName;
middle = authorsMiddleName;
}
string Book:: getLast ( ) {
return last;
}
string Book:: getFirst ( ) {
return first;
}
string Book:: getMiddle ( ) {
return middle;
}
void Book:: bookMainInfo ( string bookTitleName, string bookPublisherName, string bookFormat, float bookPrice, string bookStarRating, string bookSummary) {
titleName = bookTitleName;
publisherName = bookPublisherName;
format = bookFormat;
price = bookPrice;
starRating = bookStarRating;
summary = bookSummary;
}
string Book:: getTitleName ( ) {
return titleName;
}
string Book:: getPublisherName ( ) {
return publisherName;
}
string Book:: getFormat ( ) {
return format;
}
float Book:: getPrice ( ) {
return price;
}
string Book:: getStarRating ( ) {
return starRating;
}
string Book:: getSummary ( ) {
return summary;
}
void Book:: bookDetailInfo ( string bookLanguage, string bookISBN10, string bookISBN13, string bookShippingWeight, string bookWeightClass) {
language = bookLanguage;
ISBN10 = bookISBN10;
ISBN13 = bookISBN13;
shippingWeight = bookShippingWeight;
weightClass = bookWeightClass;
}
string Book:: getLanguage ( ) {
return language;
}
string Book:: getISBN10 ( ) {
return ISBN10;
}
string Book:: getISBN13 ( ) {
return ISBN13;
}
string Book:: getShippingWeight ( ) {
return shippingWeight;
}
string Book:: getWeightClass ( ) {
return weightClass;
}
int main( )
{
// Set up space to create 5 instances of the class Book to use with our constructor
Book B1;
// Use our constructor to create the first book, replace my book below with info on your favorite book, use b1
B1.authorsName ( "King" , "Stephen" , "" ) ;
cout << "Authors Name (Last, First, Middle): " << "\n " << B1.getLast ( ) << ", " << B1.getFirst ( ) << " " << B1.getMiddle ( ) << endl;
cout << "\n " << endl;
B1.releaseDate ( 04 , 23 , 1996 ) ;
cout << "Release Date - " << B1.getMonth ( ) << "/" << B1.getDay ( ) << "/" << B1.getYear ( ) << endl;
B1.bookMainInfo ( "The Shining" , "Mass Market Paperback" , "Kindle" , 12.01 , "5" , "This is the summary. This is the summary. This is the summary. \n This is the summary. This is the summary. This is the summary. \n This is the summary. This is the summary. This is the summary. " ) ;
cout << "Title: " << B1.getTitleName ( ) << "\n " << "Publisher: " << B1.getPublisherName ( ) << "\n " << "Format: " << B1.getFormat ( ) << "\n " << "Price: " << "$" << B1.getPrice ( ) << "\n " << "Stars: " << B1.getStarRating ( ) << "\n " << "Summary: " << B1.getSummary ( ) << endl;
cout << "\n " << endl;
B1.bookDetailInfo ( "English" , "1234567891" , "13-1234567891" , "1.5" , ".lbs" ) ;
cout << "Language: " << B1.getLanguage ( ) << "\n " << "ISBN10: " << B1.getISBN10 ( ) << "\n " << "ISBN13: " << B1.getISBN13 ( ) << "\n " << "Shipping Weight: " << B1.getShippingWeight ( ) << "\n " << "Weight Class: " << B1.getWeightClass ( ) << endl;
cout << "\n " << endl;
cout << "======================" << "\n " << endl;
//================================================================================================
return ( 0 ) ;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8c3RyaW5nPgoKdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCi8vIGNsYXNzIEJvb2sKLy8gd2l0aCB0aHJlZSBwcml2YXRlIGRhdGEgZmllbGRzOiBib29rIHRpdGxlLCBhdXRob3IsIGNvcHlyaWdodCwgYW5kIHByaWNlCi8vIGZvdXIgcHVibGljIG1ldGhvZHMgdG8gcmV0cmlldmUgZmllbGRzIChjYWxsZWQgImdldHRlcnMiKQovLyBhbmQgb25lIHB1YmxpYyBub24tZGVmYXVsdCBjb25zdHJ1Y3RvcgoKY2xhc3MgQm9vayB7CgogIHB1YmxpYzoKCgkvLyBtZW1iZXIgZnVuY3Rpb24gcHJvdG90eXBlcwoJCgl2b2lkIHJlbGVhc2VEYXRlIChpbnQsIGludCwgaW50KTsKCXZvaWQgYXV0aG9yc05hbWUgKHN0cmluZywgc3RyaW5nLCBzdHJpbmcpOwoJdm9pZCBib29rTWFpbkluZm8gKHN0cmluZywgc3RyaW5nLCBzdHJpbmcsIGZsb2F0LCBzdHJpbmcsIHN0cmluZyk7Cgl2b2lkIGJvb2tEZXRhaWxJbmZvIChzdHJpbmcsIHN0cmluZywgc3RyaW5nLCBzdHJpbmcsIHN0cmluZyk7CgkKCWludCBnZXRNb250aCgpOwoJaW50IGdldERheSgpOwoJaW50IGdldFllYXIoKTsKCQogICAgc3RyaW5nIGdldExhc3QoKTsKICAgIHN0cmluZyBnZXRGaXJzdCgpOwogICAgc3RyaW5nIGdldE1pZGRsZSgpOwoKCXN0cmluZyBnZXRUaXRsZU5hbWUoKTsKCXN0cmluZyBnZXRQdWJsaXNoZXJOYW1lKCk7CglzdHJpbmcgZ2V0Rm9ybWF0KCk7CglmbG9hdCBnZXRQcmljZSgpOwoJc3RyaW5nIGdldFN0YXJSYXRpbmcoKTsKCXN0cmluZyBnZXRTdW1tYXJ5KCk7CgkKCXN0cmluZyBnZXRMYW5ndWFnZSgpOwoJc3RyaW5nIGdldElTQk4xMCgpOwoJc3RyaW5nIGdldElTQk4xMygpOwoJc3RyaW5nIGdldFNoaXBwaW5nV2VpZ2h0KCk7CglzdHJpbmcgZ2V0V2VpZ2h0Q2xhc3MoKTsKCQogIHByaXZhdGU6CgoJLy8gZGF0YSBtZW1iZXJzCgoKCWludCBtb250aDsKCWludCBkYXk7CglpbnQgeWVhcjsKCglzdHJpbmcgbGFzdDsKCXN0cmluZyBmaXJzdDsKCXN0cmluZyBtaWRkbGU7CgkKCXN0cmluZyB0aXRsZU5hbWU7CglzdHJpbmcgcHVibGlzaGVyTmFtZTsKCXN0cmluZyBmb3JtYXQ7CglmbG9hdCBwcmljZTsKCXN0cmluZyBzdGFyUmF0aW5nOwoJc3RyaW5nIHN1bW1hcnk7CgkKCXN0cmluZyBsYW5ndWFnZTsKCXN0cmluZyBJU0JOMTA7CglzdHJpbmcgSVNCTjEzOwoJc3RyaW5nIHNoaXBwaW5nV2VpZ2h0OwoJc3RyaW5nIHdlaWdodENsYXNzOwp9OwoKCi8vIHRoZXNlIGFyZSB0aGUgYWN0dWFsIG1lbWJlciBmdW5jdGlvbnMKCi8vIHRoaXMgbWVtYmVyIGZ1bmN0aW9uIGlzIGEgImNvbnN0cnVjdG9yIiB0aGF0IHdpbGwgY3JlYXRlIGEgbmV3IGJvb2sKdm9pZCBCb29rOjpyZWxlYXNlRGF0ZSAoaW50IHJlbGVhc2VoTW9udGgsIGludCByZWxlYXNlRGF5LCBpbnQgcmVsZWFzZVllYXIpIHsKICAgICAgICAgICAgbW9udGggPSByZWxlYXNlaE1vbnRoOwogICAgICAgICAgICBkYXkgPSByZWxlYXNlRGF5OwogICAgICAgICAgICB5ZWFyID0gcmVsZWFzZVllYXI7Cn0KCi8vIHRoaXMgbWVtYmVyIGZ1bmN0aW9uIGlzIGEgImdldHRlciIgdGhhdCB3aWxsIHJldHJpZXZlIHRoYXQgYm9vayB0aXRsZSB2YWx1ZQppbnQgQm9vazo6Z2V0TW9udGgoKSB7CiAgICAgICAgICAgIHJldHVybiBtb250aDsKfQppbnQgQm9vazo6Z2V0RGF5KCkgewogICAgICAgICAgICByZXR1cm4gZGF5Owp9CmludCBCb29rOjpnZXRZZWFyKCkgewogICAgICAgICAgICByZXR1cm4geWVhcjsKfQoKdm9pZCBCb29rOjphdXRob3JzTmFtZShzdHJpbmcgYXV0aG9yc0xhc3ROYW1lLCBzdHJpbmcgYXV0aG9yc0ZpcnN0TmFtZSwgc3RyaW5nIGF1dGhvcnNNaWRkbGVOYW1lKSB7CiAgICAgICAgICAgIGxhc3QgPSBhdXRob3JzTGFzdE5hbWU7CiAgICAgICAgICAgIGZpcnN0ID0gYXV0aG9yc0ZpcnN0TmFtZTsKICAgICAgICAgICAgbWlkZGxlID0gYXV0aG9yc01pZGRsZU5hbWU7Cn0Kc3RyaW5nIEJvb2s6OmdldExhc3QoKSB7CiAgICAgICAgICAgIHJldHVybiBsYXN0Owp9CnN0cmluZyBCb29rOjpnZXRGaXJzdCgpIHsKICAgICAgICAgICAgcmV0dXJuIGZpcnN0Owp9CnN0cmluZyBCb29rOjpnZXRNaWRkbGUoKSB7CiAgICAgICAgICAgIHJldHVybiBtaWRkbGU7Cn0KCnZvaWQgQm9vazo6Ym9va01haW5JbmZvKHN0cmluZyBib29rVGl0bGVOYW1lLCBzdHJpbmcgYm9va1B1Ymxpc2hlck5hbWUsIHN0cmluZyBib29rRm9ybWF0LCBmbG9hdCBib29rUHJpY2UsIHN0cmluZyBib29rU3RhclJhdGluZywgc3RyaW5nIGJvb2tTdW1tYXJ5KXsKICAgICAgICAgICAgdGl0bGVOYW1lID0gYm9va1RpdGxlTmFtZTsKICAgICAgICAgICAgcHVibGlzaGVyTmFtZSA9IGJvb2tQdWJsaXNoZXJOYW1lOwogICAgICAgICAgICBmb3JtYXQgPSBib29rRm9ybWF0OwogICAgICAgICAgICBwcmljZSA9IGJvb2tQcmljZTsKICAgICAgICAgICAgc3RhclJhdGluZyA9IGJvb2tTdGFyUmF0aW5nOwoJCQlzdW1tYXJ5ID0gYm9va1N1bW1hcnk7Cn0Kc3RyaW5nIEJvb2s6OmdldFRpdGxlTmFtZSgpIHsKICAgICAgICAgICAgICByZXR1cm4gdGl0bGVOYW1lOwp9CnN0cmluZyBCb29rOjpnZXRQdWJsaXNoZXJOYW1lKCkgewogICAgICAgICAgICAgIHJldHVybiBwdWJsaXNoZXJOYW1lOwp9CnN0cmluZyBCb29rOjpnZXRGb3JtYXQoKSB7CiAgICAgICAgICAgICAgcmV0dXJuIGZvcm1hdDsKfQpmbG9hdCBCb29rOjpnZXRQcmljZSgpIHsKICAgICAgICAgICAgICByZXR1cm4gcHJpY2U7Cn0Kc3RyaW5nIEJvb2s6OmdldFN0YXJSYXRpbmcoKSB7CiAgICAgICAgICAgICAgcmV0dXJuIHN0YXJSYXRpbmc7Cn0Kc3RyaW5nIEJvb2s6OmdldFN1bW1hcnkoKSB7CiAgICAgICAgICAgICAgcmV0dXJuIHN1bW1hcnk7Cn0KCnZvaWQgQm9vazo6Ym9va0RldGFpbEluZm8oc3RyaW5nIGJvb2tMYW5ndWFnZSwgc3RyaW5nIGJvb2tJU0JOMTAsIHN0cmluZyBib29rSVNCTjEzLCBzdHJpbmcgYm9va1NoaXBwaW5nV2VpZ2h0LCBzdHJpbmcgYm9va1dlaWdodENsYXNzKXsKICAgICAgICAgICAgbGFuZ3VhZ2UgPSBib29rTGFuZ3VhZ2U7CiAgICAgICAgICAgIElTQk4xMCA9IGJvb2tJU0JOMTA7CiAgICAgICAgICAgIElTQk4xMyA9IGJvb2tJU0JOMTM7CiAgICAgICAgICAgIHNoaXBwaW5nV2VpZ2h0ID0gYm9va1NoaXBwaW5nV2VpZ2h0OwoJCQl3ZWlnaHRDbGFzcyA9IGJvb2tXZWlnaHRDbGFzczsKfQpzdHJpbmcgQm9vazo6Z2V0TGFuZ3VhZ2UoKSB7CiAgICAgICAgICAgICAgcmV0dXJuIGxhbmd1YWdlOwp9CnN0cmluZyBCb29rOjpnZXRJU0JOMTAoKSB7CiAgICAgICAgICAgICAgcmV0dXJuIElTQk4xMDsKfQpzdHJpbmcgQm9vazo6Z2V0SVNCTjEzKCkgewogICAgICAgICAgICAgIHJldHVybiBJU0JOMTM7Cn0Kc3RyaW5nIEJvb2s6OmdldFNoaXBwaW5nV2VpZ2h0KCkgewogICAgICAgICAgICAgIHJldHVybiBzaGlwcGluZ1dlaWdodDsKfQpzdHJpbmcgQm9vazo6Z2V0V2VpZ2h0Q2xhc3MoKSB7CiAgICAgICAgICAgICAgcmV0dXJuIHdlaWdodENsYXNzOwp9CgppbnQgbWFpbigpCnsKCiAgICAvLyBTZXQgdXAgc3BhY2UgdG8gY3JlYXRlIDUgaW5zdGFuY2VzIG9mIHRoZSBjbGFzcyBCb29rIHRvIHVzZSB3aXRoIG91ciBjb25zdHJ1Y3RvcgogICAgQm9vayBCMTsKCiAgICAvLyBVc2Ugb3VyIGNvbnN0cnVjdG9yIHRvIGNyZWF0ZSB0aGUgZmlyc3QgYm9vaywgcmVwbGFjZSBteSBib29rIGJlbG93IHdpdGggaW5mbyBvbiB5b3VyIGZhdm9yaXRlIGJvb2ssIHVzZSBiMQoKICAgIEIxLmF1dGhvcnNOYW1lICgiS2luZyIsICJTdGVwaGVuIiwgIiIpOwogICAgICAgIGNvdXQgPDwgIkF1dGhvcnMgTmFtZSAoTGFzdCwgRmlyc3QsIE1pZGRsZSk6ICIgPDwgIlxuIiA8PCBCMS5nZXRMYXN0KCkgPDwgIiwgIiA8PCBCMS5nZXRGaXJzdCgpIDw8ICIgIiA8PCBCMS5nZXRNaWRkbGUoKSA8PCBlbmRsOwogICAgICAgIGNvdXQgPDwgIlxuIiA8PCBlbmRsOwoKICAgIEIxLnJlbGVhc2VEYXRlICgwNCwgMjMsIDE5OTYpOwogICAgICAgIGNvdXQgPDwgIlJlbGVhc2UgRGF0ZSAtICIgPDwgQjEuZ2V0TW9udGgoKSA8PCAiLyIgPDwgQjEuZ2V0RGF5KCkgPDwgIi8iIDw8IEIxLmdldFllYXIoKSA8PCBlbmRsOwoKICAgIEIxLmJvb2tNYWluSW5mbyAoIlRoZSBTaGluaW5nIiwgIk1hc3MgTWFya2V0IFBhcGVyYmFjayIsICJLaW5kbGUiLCAxMi4wMSwgIjUiLCAiVGhpcyBpcyB0aGUgc3VtbWFyeS4gVGhpcyBpcyB0aGUgc3VtbWFyeS4gVGhpcyBpcyB0aGUgc3VtbWFyeS4gXG5UaGlzIGlzIHRoZSBzdW1tYXJ5LiBUaGlzIGlzIHRoZSBzdW1tYXJ5LiBUaGlzIGlzIHRoZSBzdW1tYXJ5LiBcblRoaXMgaXMgdGhlIHN1bW1hcnkuIFRoaXMgaXMgdGhlIHN1bW1hcnkuIFRoaXMgaXMgdGhlIHN1bW1hcnkuICIpOwogICAgICAgIGNvdXQgPDwgIlRpdGxlOiAiIDw8IEIxLmdldFRpdGxlTmFtZSgpIDw8ICJcbiIgPDwgIlB1Ymxpc2hlcjogIiA8PCBCMS5nZXRQdWJsaXNoZXJOYW1lKCkgPDwgIlxuIiA8PCAiRm9ybWF0OiAiIDw8IEIxLmdldEZvcm1hdCgpIDw8ICJcbiIgPDwgIlByaWNlOiAiIDw8ICIkIiA8PCBCMS5nZXRQcmljZSgpIDw8ICJcbiIgPDwgIlN0YXJzOiAiIDw8IEIxLmdldFN0YXJSYXRpbmcoKSA8PCAiXG4iIDw8ICJTdW1tYXJ5OiAiPDwgQjEuZ2V0U3VtbWFyeSgpIDw8IGVuZGw7CiAgICAgICAgY291dCA8PCAiXG4iIDw8IGVuZGw7CgogICAgQjEuYm9va0RldGFpbEluZm8oIkVuZ2xpc2giLCAiMTIzNDU2Nzg5MSIsICIxMy0xMjM0NTY3ODkxIiwgIjEuNSIsICIubGJzIik7CiAgICAgICAgY291dCA8PCAiTGFuZ3VhZ2U6ICIgPDwgQjEuZ2V0TGFuZ3VhZ2UoKSA8PCAiXG4iIDw8ICJJU0JOMTA6ICIgPDwgQjEuZ2V0SVNCTjEwKCkgPDwgIlxuIiA8PCAiSVNCTjEzOiAiIDw8IEIxLmdldElTQk4xMygpIDw8ICJcbiIgPDwgIlNoaXBwaW5nIFdlaWdodDogIiA8PCBCMS5nZXRTaGlwcGluZ1dlaWdodCgpIDw8ICJcbiIgPDwgIldlaWdodCBDbGFzczogIiA8PCBCMS5nZXRXZWlnaHRDbGFzcygpIDw8IGVuZGw7CgogICAgICAgIGNvdXQgPDwgIlxuIiA8PCBlbmRsOwoKICAgICAgICBjb3V0IDw8ICI9PT09PT09PT09PT09PT09PT09PT09IiA8PCAiXG4iIDw8ICBlbmRsOwovLz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoKICAgICAgcmV0dXJuICgwKTsKfQ==