gpt4 book ai didi

c++ - 相同成员函数的公有和私有(private)访问

转载 作者:太空狗 更新时间:2023-10-29 19:55:51 26 4
gpt4 key购买 nike

我有一个类(A类)被设计为被其他人编写的其他类继承。我还有另一个类(B 类),它也继承自 A。

B 必须访问一些 A 的成员函数,这些成员函数不应被其他继承类访问。

因此,A 的这些成员函数对于 B 应该是公有的,而对于其他人应该是私有(private)的。

如何在不使用“ friend ”指令的情况下解决它?

谢谢。

编辑:我为什么需要它的例子。

class A
{
public:
void PublicFunc()
{
PrivateFunc();
// and other code
}
private:
virtual void PrivateFunc();
};

class B : public class A
{
private:
virtual void PrivateFunc()
{
//do something and call A's PrivateFunc
A::PrivateFunc(); // Can't, it's private!
}
};

最佳答案

你不能。这就是 friend 的用途。

另一种方法是更改​​程序的设计/架构。但是对于这方面的提示,我需要更多的上下文。

关于c++ - 相同成员函数的公有和私有(private)访问,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/504257/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com