[英]How to access private member function using friend class object?
在main
,我想访问display
功能。 在这里,在class B
我宣布class A
为朋友。 因此,我认为可以访问私有成员函数。 但是我不知道该怎么做。
#include<stdio.h>
class A
{
public:
class B
{
public:
friend class A;
private:
void display()
{
printf("\nHi");
}
};
};
int main()
{
//here i wanna access display function.. is it possible?
return 1;
}
friend
指定对私人成员具有访问权限的对象。 在您的情况下,您想访问main
函数中的私有成员,因此您应该指定它是朋友:
class A
{
public:
class B
{
friend int main();
void display()
{
printf("\nHi");
}
};
};
int main()
{
// here you can access display function:
A::B object;
object.display();
}
或者,如果您想让class A
(而不是其他任何东西)成为朋友,则class A
应该访问display
功能。 class A
任何成员都可以做到:
class A
{
public:
class B
{
friend class A;
void display()
{
printf("\nHi");
}
};
// here you can access display function:
void access_display(B object)
{
object.display();
}
};
int main()
{
A object1;
A::B object2;
object1.access_display(object2);
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.