《C++ Primer》14.1节练习
                                                            生活随笔
收集整理的這篇文章主要介紹了
                                《C++ Primer》14.1节练习
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.                        
                                練習14.1:
 不同點:
 重載操作符必須具有至少一個class或枚舉類型的操作數。
 重載操作符不保證操作數的求值順序,例如對&&和||的重載版本不再具有“短路求值”的特性,兩個操作數都要進行求值,而且不規定操作數的求值順序。
 相同點:
 對于優先級和結合性及操作數的數目都不變。
練習14.2:
class Sales_data {friend std::istream&operator>>(std::istream&,Sales_data &);friend std::ostream&operator<<(std::ostream&,const Salse_data &);public:Sales_data&operator+=(const Sales_data&); };Sales_data operator+(con練習14.3:
 (a)"cobble" == "store"應用了C++語言內置版本的==,比較兩個指針。
 (b)svec1[0] == svec2[0]應用了string版本的重載==。
 ?svec1 == svec2應用了vector版本的重載==。
 (d)svec1[0] == "stone"應用了string版本的重載==,字符串字面常量被轉換為string。
練習14.4:
 (a)%通常定義為非成員。
 (b)%=通常定義為類成員,因為它會改變對象的狀態。
 ?++通常定義為類成員,因為它會改變對象的狀態。
 (d)->必須定義為類成員,否則編譯會報錯。
 (e)<<通常定義為非成員。
 (f)&&通常定義為非成員。
 (g)==通常定義為非成員。
 (h)()必須定義為類成員,否則編譯會報錯。
練習14.5:
#include <iostream> using namespace std;class Date {public:Date() {};Date(int y, int m, int d) {year = y;month = m;day = d;}friend ostream &operator<<(ostream &os, const Date &dt);private:int year, month, day; };ostream &operator<<(ostream &os, const Date &d) {const char sep = '\t';os << "year:" << d.year << sep << "month:" << d.month << sep << "day:" << d.day << endl;return os; }總結
以上是生活随笔為你收集整理的《C++ Primer》14.1节练习的全部內容,希望文章能夠幫你解決所遇到的問題。
 
                            
                        - 上一篇: 2023新一代人工智能(深圳)创业大赛评
- 下一篇: 开源鸿蒙 4.1 计划明年 Q1 发布,
