IN C format Fill in the missing functions using the concept

IN C++ format, Fill in the missing functions, using the concept of operator overloading.

code:

#include <string>
#include <ostream>
using namespace std;

class Book {
private:
    string title;
    string author;
    unsigned isbn;
    double price;

public:

/**Constructors*/
   Book();
   Book(string t, string a, unsigned i, double p);



    /**Access Functions*/
    string get_title();
    string get_author();
    unsigned get_isbn();
    double get_price();


    /**Manipulation Procedures*/
   void set_title(string t);
    void set_author(string a);
    void set_isbn(unsigned i);
    void set_price(double p);



/**Additional Functions*/
  
   friend ostream& operator<<(ostream& os, const Book& book);
   //prints out a book to the designated stream in the following format
   //<title> by <author>
   //$<price>
   //isbn #<isbn>
   //note that the << is required to be a friend function, not a member function
   //note2: do not print out the <> as part of the output

   bool operator==(const Book& book);
   //compares two books to determine if they are the same book
  
   bool operator<(const Book& book);
   //compares two books to determine if one comes before the other
   //alphabetically by title and secondarily by author if the two
   //books contain the same title
   //returns false if the two books are the same
  
   bool operator>(const Book& book);
   //compares two books to determine if one comes after the other
   //alphabetically by title and secondarily by author if the two
   //books contain the same title
   //returns false if the two books are the same

};

Solution

#include <string>
#include <ostream>
using namespace std;

class Book {
private:
string title;
string author;
unsigned isbn;
double price;

public:

/**Constructors*/
Book(){
}

Book(string t, string a, unsigned i, double p){
title = t;
author = a;
isbn = i;
price = p;
}


/**Access Functions*/
string get_title(){
return title;
}
string get_author(){
return author;
}
unsigned get_isbn(){
return isbn;
}
double get_price(){
return price;
}

/**Manipulation Procedures*/
void set_title(string t){
title = t;
}
void set_author(string a){
author = a;
}
void set_isbn(unsigned i){
isbn = i;
}
void set_price(double p){
price = p;
}


/**Additional Functions*/

friend ostream& operator<<(ostream& os, const Book& book){
os << book.title << \" by \" << book.author << \"\ \";
os << \"$\" << book.price << \"\ \";
os << \"isbn #\" << book.isbn << \"\ \";
return os;
}

//prints out a book to the designated stream in the following format
//<title> by <author>
//$<price>
//isbn #<isbn>
//note that the << is required to be a friend function, not a member function
//note2: do not print out the <> as part of the output

bool operator==(const Book& book){
if(this->title.compare(book.title) == 0 && this->author.compare(book.author) == 0 && this->price == book.price && this->isbn == book.isbn)
return true;
else
return false;
}

//compares two books to determine if they are the same book

bool operator<(const Book& book){
if(this->title.compare(book.title) == 0 && this->author.compare(book.author) == 0 && this->price == book.price && this->isbn == book.isbn)
return false;
else{
if(this->title.compare(book.title) < 0) return true;
else if(this->title.compare(book.title) > 0) return false;
else{
if(this->author.compare(book.author) < 0) return true;
else return false;
}
}
}

//compares two books to determine if one comes before the other
//alphabetically by title and secondarily by author if the two
//books contain the same title
//returns false if the two books are the same

bool operator>(const Book& book){
if(this->title.compare(book.title) == 0 && this->author.compare(book.author) == 0 && this->price == book.price && this->isbn == book.isbn)
return false;
else{
if(this->title.compare(book.title) > 0) return true;
else if(this->title.compare(book.title) < 0) return false;
else{
if(this->author.compare(book.author) > 0) return true;
else return false;
}
}
}

//compares two books to determine if one comes after the other
//alphabetically by title and secondarily by author if the two
//books contain the same title
//returns false if the two books are the same

};

IN C++ format, Fill in the missing functions, using the concept of operator overloading. code: #include <string> #include <ostream> using namespace
IN C++ format, Fill in the missing functions, using the concept of operator overloading. code: #include <string> #include <ostream> using namespace
IN C++ format, Fill in the missing functions, using the concept of operator overloading. code: #include <string> #include <ostream> using namespace

Get Help Now

Submit a Take Down Notice

Tutor
Tutor: Dr Jack
Most rated tutor on our site