Mega Code Archive

 
Categories / C++ / Class
 

Constructor with parameter value checking

#include <iostream> #include <iomanip> #include <string.h> #include <stdlib.h> using namespace std; class Book  {   public:      char *title;     char *author;     float price;     Book(char *title, char *author, char *publisher, float price);     void show_title(void) { cout << title << '\n'; };     float get_price(void) { return(price); };     void show_book(void)      {        show_title();        show_publisher();      };     void assign_publisher(char *name) { strcpy(publisher, name); };   private:     char *publisher;     void show_publisher(void) { cout << publisher << '\n'; }; }; Book::Book(char *title, char *author, char *publisher, float price)  {    if ((Book::title = new char[256]) == 0)      {        cerr << "Error allocating memory\n";        exit(0);      }    if ((Book::author = new char[64]) == 0)      {        cerr << "Error allocating memory\n";        exit(0);      }    if ((Book::publisher = new char[128]) == 0)      {        cerr << "Error allocating memory\n";        exit(0);      }    strcpy(Book::title, title);    strcpy(Book::author, author);    strcpy(Book::publisher, publisher);    Book::price = price;  } int main(void)  {    Book tips("A", "B", "B",49.95);    Book diary("C", "D", "D", 9.95);    tips.show_book();    diary.show_book();  }