輸出運算子過載

2021-08-20 21:32:01 字數 785 閱讀 7628

cannot access protected member declared in class 'cricle'
我遇到這種錯誤是在這種情況下:

class cricle

****

friend ostream & operator<<(ostream &,const cricle );

ostream &operator<<(ostream & output,const cricle c)

{ output<<"cricle\n"<<"the radius is:"ostream &operator<<(ostream & output,const cricle c)

{ output<<"cricle\n"<<"the radius is:"《在cricle類中用友元函式運算子過載了輸出運算子"<<";

錯誤顯示:x,y不能訪問類的保護成員。

解決辦法:

ostream &operator<<(ostream & output,const cricle &c)

(1)同時還發現了用過載的不能輸出類的成員函式,不然會出現這樣的錯誤:

'getarea' : cannot convert 'this' pointer from 'const class cricle' to 'class cricle &'

所以只能輸出資料;

在主函式中這樣呼叫:

cricle c(2,3,4);

cout<

輸出運算子過載

程式的版權和版本宣告部分 檔名稱 test.cpp 作 者 任子儀 完成日期 2014年 4月 22日 版 本 號 v12.1 輸入描述 無 問題描述 程式輸出 問題分析 略 演算法設計 略 includeusing namespace std class complex complex doubl...

過載輸入輸出運算子

我們平時可以用流 std cout str n 輸出 輸入字串和整型等內建型別的值。但是對於我們自定義的類,比如 student 類,卻不能直接通過 cout student 這樣的形式來輸出類的內容或給類賦值。怎麼辦呢?我們可以通過過載輸出 輸入運算子,讓自定義的類也支援這樣的操作。通常情況下,輸...

過載輸入輸出運算子

過載輸入輸出運算子 過載輸出運算子 第二個引數一般來說是乙個常量的引用,該常量是我們想要輸出的類型別。用引用是因為我們希望避免複製實參 用常量是因為通常列印物件的時候不需要改變物件的內容 輸出運算子應儘量減少格式化的操作,尤其是換行符,這樣有利於使用者對輸出格式的控制。一般會宣告為友元函式 frie...