為什么“<<”重載一定要加上&
friend?ostream&?operator<<(ostream?&output,?Coordinate?&coor);
如果不加引用符號的話(任意第一個或者第二個,第三個無所謂),編譯器都會報錯。
那為什么ostream類型的對象一定要加引用符號呢?也就是說為什么第一個第二個&必須要加。
friend?ostream&?operator<<(ostream?&output,?Coordinate?&coor);
如果不加引用符號的話(任意第一個或者第二個,第三個無所謂),編譯器都會報錯。
那為什么ostream類型的對象一定要加引用符號呢?也就是說為什么第一個第二個&必須要加。
2018-09-27
舉報
2019-06-09
不使用引用也是可以的,但是形參輸入函數會在堆棧新開一個區域給參數,對于一般類型的數據可能無所謂但是對于類來說就很龐大了。而且形參如果不是指針和引用是無法修改對象的參數的。
2018-10-02
(為了多次使用<<)因為如果不加引用的話,ostream類型的output只是一個形參,而你的數據比如:output<<a<<b;只是放在output緩沖區里面,而不是cout里面。