2012-10-18 125 views
2

你好,我想訪問一個私人會員功能是Gtest。代碼看起來有點類似於這個。那麼,我怎樣才能訪問static void Pri_fun如何通過朋友功能調用私人功能?

using namespace std; 
class test{ 

}; 
class abc{ 
public: 
    friend class test; 
private: 
    static void Pri_fun() 
     { 
     cout << "private fun called \n"; 
     } 
}; 
int main() 
{ 
    abc ab; 
    test *abd; 
    abd->Pri_fun(); 
} 

回答

3

因爲它是一個靜態函數,你應該通過類名稱來訪問它:

abc::Pri_fun(); 

你應該做一個調用函數雖然,或從朋友類的構造函數調用它:

class test{ 
public: 
    void foo() 
    { 
     abc::Pri_fun(); 
    } 
}; 

class test{ 
public: 
    test() 
    { 
     abc::Pri_fun(); 
    } 
};