自学内容网 自学内容网

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;
};

原文地址:https://blog.csdn.net/navicheung/article/details/140312358

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!