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

歡迎訪問 生活随笔!

生活随笔

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

c/c++

C++友元与输出运算符重载

發布時間:2025/3/18 c/c++ 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 C++友元与输出运算符重载 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
#pragma once #include <ostream> #include <iostream> using namespace std;class MyComplex { public:int GetA() const{return a;}int GetB() const {return b;}//輸出重載一friend ostream& operator < (ostream& out, const MyComplex& com);//注意ostream前不能加const,因為流要插入修改//輸出重載二ostream& operator > (ostream& out) {out << "operator>" << a << ", " << b;return out;}static void TestFriend();private:int a=0, b=10; };//友元函數,是全局函數 ostream& operator < (ostream& out, const MyComplex& com) {out << "operator<" << com.a << ", " << com.b;return out; }//輸出重載三,全局函數 ostream& operator << (ostream& out, const MyComplex& com) {out << "operator<<" << com.GetA() << ", " << com.GetB();return out; }//測試用例 void MyComplex:: TestFriend() {MyComplex complex;//下面2種調用等價operator <<(std::cout, complex) << endl;std::cout << complex << std::endl;//下面2種調用等價(std::cout < complex) << endl; //加括號因為<<優先級高于<(operator <(std::cout, complex)) << endl; //友元函數是全局函數//下面2種調用等價(complex > std::cout) << endl;(complex.operator>(std::cout)) << endl;/*輸出結果:* operator<<0, 10operator<<0, 10operator<0, 10operator<0, 10operator>0, 10operator>0, 10*/}

總結

以上是生活随笔為你收集整理的C++友元与输出运算符重载的全部內容,希望文章能夠幫你解決所遇到的問題。

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