在C中实际使用’protected’说明符

在C中实际使用’protected’说明符,第1张

概述我知道这个说明符是如何工作的. 我对实际编程中这些东西的实际使用感兴趣.我无法想象任何受保护类成员真正需要的例子(我的意思是当我们不能用’private’替换’protected’时). 一个类有两个API – 一个用于实例化它并使用结果对象的代码,另一个用于子类. 第一个API是公共成员,第二个API是公共成员和受保护成员.有一些 *** 作和数据可供子类访问,“普通用户”无法访问. 作为一个具体的例子 我知道这个说明符是如何工作的.

我对实际编程中这些东西的实际使用感兴趣.我无法想象任何受保护类成员真正需要的例子(我的意思是当我们不能用’private’替换’protected’时).

解决方法 一个类有两个API – 一个用于实例化它并使用结果对象的代码,另一个用于子类.

第一个API是公共成员,第二个API是公共成员和受保护成员.有一些 *** 作和数据可供子类访问,“普通用户”无法访问.

作为一个具体的例子,想象一下Windows GUI类库.它包装和隐藏普通的旧windows API.窗口代表一个窗口,并且有一个HWND,它是底层的windows窗口句柄.它隐藏了Window类用户的HWND,因为它不属于他们的业务(或者如果它们可以使用它,它只通过只读访问器公开它).但是Window的子类(如FrameWindow或EditControl)可以直接访问HWND:

class Window{public:    voID Show();  // Example public APIprotected:    HWND m_hwnd;};
总结

以上是内存溢出为你收集整理的在C中实际使用’protected’说明符全部内容,希望文章能够帮你解决在C中实际使用’protected’说明符所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://www.outofmemory.cn/langs/1219866.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-05
下一篇 2022-06-05

发表评论

登录后才能评论

评论列表(0条)

保存