C++ 类的私有成员和受保护成员有什么区别?

2024-06-22

有什么区别private and protectedC++ 类中的成员?

我从最佳实践惯例中了解到,应该创建不在类外部调用的变量和函数private——但是看看我的MFC项目,MFC似乎更青睐protected.

有什么区别以及我应该使用哪个?


私有成员只能在定义它们的类中访问。

受保护的成员可以在定义它们的类中以及从该类继承的类中访问。

编辑:两者都可以被其类的朋友访问,并且在受保护的成员的情况下,可以被其派生类的朋友访问。

编辑 2:使用在您的问题中有意义的任何内容。您应该尽可能将成员设为私有,以减少耦合并保护基类的实现,但如果不可能,则使用受保护的成员。查看C++ FAQ https://isocpp.org/wiki/faq/basics-of-inheritance为了更好地理解这个问题。这个关于受保护变量的问题 https://stackoverflow.com/questions/37011/protected-member-variables也可能有帮助。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

C++ 类的私有成员和受保护成员有什么区别? 的相关文章

随机推荐