《C++ Primer》14.2.2节练习
                                                            生活随笔
收集整理的這篇文章主要介紹了
                                《C++ Primer》14.2.2节练习
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.                        
                                練習(xí)14.9:
輸入運算符從給定輸入流讀取對應(yīng)類型的對象,存入Sales_data的數(shù)據(jù)成員中。與輸出不同,輸入通常要進行一些正確性的判定,并進行相應(yīng)處理。
class Sales_data {friend istream&operator>>(istream&is,Sales_data &item); };istream&operator>>(istream&is,Sales_data &item) {double price;if >>item.bookNo>>item.units_sold>>price;if (is){item.revenue = item.units_sold*price;}else {item = Sales_data();}return is; }練習(xí)14.10:
 (a)參數(shù)中傳入的Sales_data對象將會得到輸入的值,其中bookNo、units_sold、price的值分別是:0-201-99999-9、10、24.95,同時revenue的值是249.5。
 (b)輸入錯誤,參數(shù)中傳入的Sales_data對象將會得到默認(rèn)值。
練習(xí)14.11:
【出題思路】
 理解輸入運算符通常要判斷輸入數(shù)據(jù)的正確性。
 【解答】
 這個實現(xiàn)沒有判斷輸入數(shù)據(jù)的正確性,是錯誤的。
 (a)如果輸入的是0-201-99999-9 10 24.95,程序?qū)?zhí)行,Sales_data對象得到正確的值。
 (b)如果輸入的是10 24.95 0-210-99999-9,bookNo、units_sold、price將會得到錯誤的值,分別是:10,24,0.95,而revenue的值是:24 * 0.95 =22.8。這顯然跟我們的預(yù)期結(jié)果是不一樣的。
練習(xí)14.12:
#include <iostream> using namespace std;class Date {public:Date(){}Date(int y,int m,int d):year(y),month(m),day(d){}friend istream&operator>>(istream &is,Date&dt);private:int year,month,day; };istream&operator>>(istream&is,Date&dt) {is >>dt.year>>dt.month>>dt.day;if (!is){dt = Date(0,0,0);}return is; } 創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎勵來咯,堅持創(chuàng)作打卡瓜分現(xiàn)金大獎總結(jié)
以上是生活随笔為你收集整理的《C++ Primer》14.2.2节练习的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
 
                            
                        - 上一篇: 韩国总统发文:T1夺冠宣扬了电竞宗主国的
- 下一篇: 真·影像机皇来了 vivo
