2017-05-24 91 views
-1

我可以調用私有函數從同一類的其他私人的功能,例如:來自同一類的其他私有函數調用私有函數

Class A { 
public: 
    double a; 
    double b; 
    wp(a , b); 

private: 
    wp1(x); 
    wp2(y); 
}; 
A::wp(a,b){ 
    a = wp1(x); 
} 
A::wp1(x){ 
    x = wp2(y); } 

我知道,爲了訪問你需要私有函數從公共函數調用它們,但我可以從同一類的其他私有函數調用私有函數嗎?

+2

你試過了嗎? –

+1

是的。當你試圖運行它時發生了什麼? – AndyG

+2

你可以讓你的代碼編譯並自己看看。 – imreal

回答

4

當然可以。您可以始終調用private函數並訪問類中任何函數的所有類成員數據。這就是private所做的。

(請注意,您可以訪問private成員,類傳遞到該類的成員函數的一個實例。雖然令人吃驚,在第一,它是如何實現重載運算符,拷貝構造函數,&角)

+0

爲了澄清,與'private:'(也是'protected:')的交易涉及到客戶的觀點。如果您從課外(包括派生類)調用函數,則可能無法訪問。 – quamrana

0

是的,你可以因爲函數是類本身的類的

0

私有成員可以由類的方法和它的朋友訪問。如果這些方法是私人的,公共的或者是自己保護的,這是無關緊要的。

0

你的例子應該工作,如果我沒有錯過一個細節。所以要回答你的問題,可以從同一個類的另一個私有函數訪問一個私有函數。