Sales_data::Sales_data(const string &s, unsigned cnt, double price) { bookNo=s; units_sold=cnt; revenue=cnt*price; }
Sales_data(const std::string &s, unsigned n, double p): bookNo(s),units_sold(n),revenue(p*n){}
class ConstRef { public: ConstRef(int ii); private: int i; const int ci; int &ri; }; //错误的构造函数的初始化 ConstRef::ConstRef(int ii) { //赋值 i=ii; //正确 ci=ii; //错误:不能给const赋值 ri=i; //错误:ri没被初始化 } //正确的打开方式 ConstRef::ConstRef(int ii):i(ii),ci(ii),ri(i) { }
class X { int i; //先被初始化 int j; //后被初始化 public: X(int val):j(val),i(j){} };
<span style="font-weight: normal;">class Sales_data { //为Sales_data的非成员函数所做的友元声明 friend Sales_data add(const Sales_data&, const Sales_data&); friend std::istream &read(std::istream&, Sales_data&); friend std::ostream &print(std::ostream&, const Sales_data&); public: //增加了访问说明符 //构造函数 Sales_data() = default; Sales_data(const std::string &s, unsigned n, double p): bookNo(s),units_sold(n),revenue(p*n){} Sales_data(const std::string s="11"):bookNo(s){cout<<"xxxx"<<endl;} Sales_data(std::istream &is){read(is, *this);} /* Sales_data::Sales_data(const string &s, unsigned cnt, double price) { bookNo=s; units_sold=cnt; revenue=cnt*price; }*/ //普通成员函数 std::string isbn()const {return bookNo;} Sales_data &combine(const Sales_data&); private: double avg_price() const { return units_sold ? revenue/units_sold : 0; } std::string bookNo; unsigned units_sold=0; double revenue=0.0; }; //Sales_data接口的非成员组成部分的声明 Sales_data add(const Sales_data&, const Sales_data&); std::istream &read(std::istream&, Sales_data&); std::ostream &print(std::ostream&, const Sales_data&); int main() { Sales_data next(); Sales_data last("9-999-99999-9"); return 0; }</span>
<span style="font-weight: normal; ">Sales_data(const std::string s="11"):bookNo(s){cout<<"xxxx"<<endl;}</span>
//构造函数 Sales_data(const std::string &s, unsigned n, double p): bookNo(s),units_sold(n),revenue(p*n){} //其余构造函数都委托给另外构造函数 Sales_date():Sales_data("",0,0) {} Sales_data(std::string s):Sales_data(s,0,0) {} Seles_data(std::istream &is):Sales_data() {read(is, *this);}
class Debug { public: constexpr Debug(bool b=true):hw(b),io(b),other(b) {} constexpr Debug(bool h, bool i, bool o):hw(h),io(i),other(o) {} constexpr bool any() {return hw || io || other;} void set_io(bool b) {io=b;} void set_hw(bool b) {hw=b;} void set_other(bool b) {other=b;} private: bool hw; //硬件错误 bool io; //IO错误 bool other; //其他错误 };
智能家居引热议 那些智能家电APP你知道吗?,布布扣,bubuko.com
原文地址:http://blog.csdn.net/mummscs/article/details/28392813