加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

发布时间:2020-12-16 10:24:03 所属栏目:百科 来源:网络整理
导读:我知道这个说明符是如何工作的. 我对实际编程中这些东西的实际使用感兴趣.我无法想象任何受保护类成员真正需要的例子(我的意思是当我们不能用’private’替换’protected’时). 解决方法 一个类有两个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 API

protected:
    HWND m_hwnd;
};

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读