node z1;
z1 =
2.2+ z1//這裡需要全域性操作符過載,
全域性操作符過載,需要去掉名字空間,並且在引數中按順序新增所有所需要的引數,例如
class
node
;node operator+(
double a,node z)
注意:操作符過載必須有乙個引數是類型別或者列舉型別,即操作符過載不可以實現兩個指標之間的操作,例如指標相加
cout是ostream型別,
注意:輸出操作符過載是全域性操作符過載
需要在類中新增宣告友元函式
cout是ostream類中已經定義好的物件例項,定義結束後使用的仍然是cout輸出
class
node
//cout << int;cout使用方法
ostream &
operator
<<
(ostream & mycout,node z)
//返回的也是ostream引用
//使用輸出操作符的過載,仍然是使用的cout,定義時的mycout只是形參,過載不影響其他函式的輸出
cout << z <<
1.3<<
1;
延申:&是引用
引用即別名,操縱引用物件可以直接修改原物件
引用物件在建立時必須賦初值
int a =10;
int& x = a;
//把int&看在一起,&出現在此屬於標記符
可以在函式中使用
void
swap
(int
&a,int
&b)//因為傳入引用值,可以實現a和b原值的改變,改變實參
cin運算過載和cout類似,但是cin是istream的物件例項,
class
node
istream&
operator
>>
(istream& mycin , node& z)
intmain()
在類的建構函式中傳參此類,要加引用
node
(node & z)
2023年3月5日開學有感
今日是回到學校第一天,獨自坐在些許涼氣的實驗室裡,不禁思緒萬千.小時候真傻,居然盼望著長大!我們在漸漸長大,父母在慢慢變老,對於我而言,社會無論多難 多複雜我並不十分在意,我可以接受自己苦一些,但是,我一想到父母臉上的皺紋 白頭髮變得越來越多起來,那種複雜的感受邊湧上心頭。如果早點工作賺錢 早點給父...
2023年3月8日模板等
模板相當於把函式的變數型別在編譯期間引數化,在編譯階段就已經決定mytype是什麼型別了 template class mytype mytype可以自己命名,經常命名為t mytype myabs mytype x else 例子 include using namespace std templ...
2023年3月20日學習總結
本週講解內容 本週老師還是繼續上一周的話題接著講貪心演算法,主要內容也沒什麼要闡述的,無非就是將乙個問題精簡為乙個最小問題,再找到這個最小問題的最優解,然後以此來找到整個問題的最優解。講了幾個常見情況,例如區間排程 活動安排 重疊區間 工廠利潤 質量合併 取規則下的最小數字等。我學到的 1 如果在排...