#ifndef STOCK_H_ #define STOCK_H_ #include // A Stock object represents purchases of shares of a stock. class Stock { public: Stock(const std::string &symbol, double share_price = 0.0); // Stock's mutator/accessor methods. virtual void Purchase(int shares, double share_price); virtual std::string symbol() const { return symbol_; } virtual int shares() const { return shares_; } virtual double share_price() const { return share_price_; } virtual void set_share_price(double share_price); // Stock's "investment" interface. virtual double GetCost() const; virtual double GetMarketValue() const; virtual double GetProfit() const; // Print out the Stock information. virtual void Print() const; private: std::string symbol_; int shares_; double cost_; double share_price_; }; #endif // STOCK_H_