2017-05-24 43 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

你的例子应该工作,如果我没有错过一个细节。所以要回答你的问题,可以从同一个类的另一个私有函数访问一个私有函数。