如何通过好友函数调用私有函数? [英] How to call a private function via friend function?
本文介绍了如何通过好友函数调用私有函数?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
您好,我尝试访问私有成员函数是Gtest
.
该代码看起来与此类似.那么,如何访问static void Pri_fun
?
Hello I am trying to access a private member function is Gtest
.
The code looks somewhat similar to this. So, how can I access 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();
}
推荐答案
由于它是静态函数,因此您应该通过类名称进行访问:
Since it's a static function, you should access it via the class name:
abc::Pri_fun();
不过,您应该创建一个调用程序函数,或从好友类的构造函数中调用它:
You should make a caller function though, or call it from the friend class' constructor:
class test{
public:
void foo()
{
abc::Pri_fun();
}
};
或
class test{
public:
test()
{
abc::Pri_fun();
}
};
这篇关于如何通过好友函数调用私有函数?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文