C++ //练习 14.45 编写类型转换运算符将一个Sales_data对象分别转换成string和double,你认为这些运算符的返回值应该是什么?
C++ Primer(第5版) 练习 14.45
练习 14.45 编写类型转换运算符将一个Sales_data对象分别转换成string和double,你认为这些运算符的返回值应该是什么?
环境:Linux Ubuntu(云服务器)
工具:vim
代码块
struct Sales_data{Sales_data(const string &s, unsigned n, double p):bookNo(s), units_sold(n), price(p), revenue(p * n) {}Sales_data(): Sales_data("", 0, 0) {}Sales_data(string s): Sales_data(s, 0, 0) {}friend istream &operator>>(istream &, Sales_data &);friend ostream &operator<<(ostream &, const Sales_data &);Sales_data& operator+= (Sales_data &);string isbn() const;Sales_data& combine(const Sales_data&);double avg_price() const;operator std::string() const { return bookNo; }explicit operator double() const { return revenue; }string bookNo;unsigned units_sold = 0;double price = 0.0;double revenue = 0.0;
};