日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > c/c++ >内容正文

c/c++

《C++ Primer》14.3.1节练习

發布時間:2023/12/4 c/c++ 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 《C++ Primer》14.3.1节练习 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

練習14.16:

//為strBlob定義==和!= class strBlob {friend bool operator==(const strBlob &lhs,const strBlob &rhs);friend bool operator!=(const strBlob &lhs,const strBlob &rhs); };bool operator==(const strBlob &lhs,const strBlob &rhs) {return lhs.data==rhs.data; }bool operator!=(const strBlob &lhs,const strBlob &rhs) {return !(lhs==rhs); }//為strBlobPtr定義==和!= class strBlobPtr {friend bool operator==(const strBlobPtr &lhs,const strBlobPtr &rhs);friend bool operator!=(const strBlobPtr &lhs,const strBlobPtr &rhs); };bool operator==(const strBlobPtr &lhs,const strBlobPtr &rhs) {auto l = lhs.wptr.lock(),r = rhs.wptr.lock();if (l==r)//兩個指針都為空,或指向相同的vector且curr指向相同元素時,相等,否則不等return (!r || lhs.curr==rhs.curr);else return false; }bool operator!=(const strBlobPtr &lhs,const strBlobPtr &rhs) {return !(lhs==rhs); }//為strVec定義==和!= class strVec {friend bool operator==(const strVec &lhs,const strVec &rhs);friend bool operator!=(const strVec &lhs,const strVec &rhs); };bool operator==(const strVec &lhs,const strVec &rhs); {if (lhs.size()!=rhs.size()){return false;}for (auto itr1=lhs.begin(),itr2 = rhs.begin();itr1!=lhs.end() && itr2!=rhs.end();itr1++,itr2++){if (*itr1!=*itr2){return false;}}return true; }bool operator!=(const strVec &lhs,const strVec &rhs) {return !(lhs==rhs); } //為String定義==和!= class String {friend bool operator==(const String &lhs,const String &rhs);friend bool operator!=(const String &lhs,const String &rhs);private:const char *str; }bool operator==(const String &lhs,const String &rhs) {return strcmp(lhs.str,rhs.str); }bool operator!=(const String &lhs,const String &rhs) {return !(lhs==rhs); }

練習14.17:

在練習7.40中,我們實現了Date類。因為我們可以比較兩個日期是否相等,因此需要實現相等運算符。

class Date {friend bool operator==(const Date &d1,const Date &d2);friend bool operator!=(const Date &d1,const Date &d2); };bool operator==(const Date &d1,const Date &d2) {return d1.year==d2.year && d1.month==d2.month && d1.day==d2.day; }bool operator!=(const Date &d1,const Date &d2) {return !(d1==d2); }

總結

以上是生活随笔為你收集整理的《C++ Primer》14.3.1节练习的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。