C++ class using Codeblocks -
i learning c++ through c++ primer book. creating class objects. ireally not know program work. using codeblocks 13.12 , have copy code:
#include <iostream> #include "sales_item.h" int main() { sales_item book; //read isbn, number of copies sold, , sales price std::cin>>book; //write isbn, number of copies sold, total revenue, , average price std::cout<<book<<std:endl; return 0; }
after there error(i not because there small red square on right of code line: #include "sales_item.h"
i tried created class(the author not ask that) , 2 files created:
sales_item.h.h #ifndef sales_item_h_h #define sales_item_h_h class sales_item.h { public: sales_item.h(); virtual ~sales_item.h(); protected: private: }; #endif // sales_item_h_h
and second one:
sales_item.h.cpp #include "sales_item.h.h" sales_item.h::sales_item.h() { //ctor } sales_item.h::~sales_item.h() { //dtor }
the author asks copy following code current directory. not know means "current directory".
/* file defines sales_item class used in chapter 1. * code used in file explained in * chapter 7 (classes) , chapter 14 (overloaded operators) * readers shouldn't try understand code in file * until have read chapters. */ #ifndef salesitem_h // we're here if salesitem_h has not yet been defined #define salesitem_h // definition of sales_item class , related functions goes here #include <iostream> #include <string> class sales_item { // these declarations explained section 7.2.1, p. 270 // , in chapter 14, pages 557, 558, 561 friend std::istream& operator>>(std::istream&, sales_item&); friend std::ostream& operator<<(std::ostream&, const sales_item&); friend bool operator<(const sales_item&, const sales_item&); friend bool operator==(const sales_item&, const sales_item&); public: // constructors explained in section 7.1.4, pages 262 - 265 // default constructor needed initialize members of built-in type sales_item(): units_sold(0), revenue(0.0) { } sales_item(const std::string &book): bookno(book), units_sold(0), revenue(0.0) { } sales_item(std::istream &is) { >> *this; } public: // operations on sales_item objects // member binary operator: left-hand operand bound implicit pointer sales_item& operator+=(const sales_item&); // operations on sales_item objects std::string isbn() const { return bookno; } double avg_price() const; // private members before private: std::string bookno; // implicitly initialized empty string unsigned units_sold; double revenue; };
thanks!
the author has "asked" copy code sales_item.h
file. please delete own class sales_item.h
comprising both files sales_item.h.h
, sales_item.h.cpp
, start on author's sales_item.h
file , create sales_item.cpp
if needed.
the class name sales_item
, not sales_item.h
. current directory means code resides.
Comments
Post a Comment