30 有關 C++中 class 對於 data member 與 member function 存取權限的敘述,下列何者錯誤?
(A)提供 public、protected 與 private 三種存取權限
(B)若某 class A 的 data member 為 public,則在同一程式的其他函式都可以讀寫該 public data member
(C)class 的 constructor 的存取權限必須為 public
(D)若某 class A 的 data member 為 private,則所有不屬於 class A 的函式都不可以讀寫該 private data member

答案:登入後查看
統計: A(20), B(31), C(149), D(93), E(0) #806941

詳解 (共 3 筆)

#1335380
private 成員 (member) 只限同個類別 (class) 的其他成員存取, C++ 提供另一種方式讓函數或其他類別也可存取 private 成員,就是在類別宣告為 friend 的成員函數 (member function) ,或是宣告為 friend 的類別
16
0
#3223936
謝謝『安身立命』。but.......就...
(共 109 字,隱藏中)
前往觀看
1
0
#4404060
建構子可以設定是否要接受參數來初始化一個新的物件,與宣告方法很相似,有幾點需要注意:

1.建構子的函式名稱需與類別相同
2.存取修飾詞為public
3.不能有回傳值
4.不能使用void
5.不會被繼承
6.類別內可以沒有建構函式,代表初始化時不用帶入參數,也稱為預設建構函式Default Constructor

——————————————————————————
在物件導向程式設計中,友誼函數(friend function)是一個指定類別(class)的「朋友」,該函式被允許存取該類別中private、protected、public的資料成員。普通的函式並不能存取這些資料,然而宣告一個函式成為一個類別的友誼函數則被允許存取這些資料。

友誼函數的宣告可以放在類別宣告的任何地方,不受存取限定關鍵字private、protected、public的限制。一個相似的概念是友誼類別(英語:friend class)。

友誼關鍵字應該謹慎使用。如果一個擁有private或者protected成員的類別,宣告過多的友誼函數,可能會降低封裝性的價值,也可能對整個設計框架產生影響。
0
0