#ifndef DIVIDENDSTOCK_H_
#define DIVIDENDSTOCK_H_

#include <string>

#include "Stock.h"

using std::string;

// Represents a stock purchase that also pays dividends.
class DividendStock : public Stock {
 public:
  DividendStock(const string& symbol, const double share_price = 0.0);

  // DividendStock's mutator and accessor methods.
  virtual void PayDividend(const double amount_per_share);

  // DividentStock's "investment" interface.
  double GetMarketValue() const override;
  virtual double GetDividends() const;

  // Print out the DividendStock information.
  void Print() const override;

 private:
  double dividends_;
};

#endif  // DIVIDEND_STOCK_