博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
effective c++ 条款15 在资源管理类中提供对原始资源的访问
阅读量:6225 次
发布时间:2019-06-21

本文共 911 字,大约阅读时间需要 3 分钟。

总看看书上的例子感觉很没有成就感,深思述略了一下“资源管理类”,看到“资源”我想起了厕所,无论是在宿舍还是在公司里厕所的资源都是有限的,有考虑到自己接触的厕所都是比较低端的那种,也就是说只能通过关门和开门来表示是否有人,于是我的类产生了,如下:

 测所类:

class WC{public:    WC(){};    void doorClose()    {        std::cout << "I am here!"<< std::endl;    }    void doorOpen()    {        std::cout<< "you can come in!" << std::endl;    }    ~WC(){};private:    }

厕所管理员(资源管理类):

class WcAdmin{public:      WcAdmin(WC *p);      ~WcAdmin();private:     WC *wc;}WcAdmin::WcAdmin(WC *p):wc(p){    wc->doorClose();}~WcAdmin::WcAdmin(){    wc->doorOpen();}

资源管理类的角色就是帮助厕所关门和开门,从而告诉我们厕所是否可用。

中午到了:

清扫厕所的阿姨要向厕所管理员要厕所来打扫,假如阿姨的函数如下:

void clean(WC *ptr);

如果向上面描述的厕所管理员是不合格的,他不知道自己负责厕所是哪一个了,没事吸烟了。勤劳的阿姨可定会向总管告状,然后他就被开除了。合格的厕所管理如下:

class WcAdmin{public:      WcAdmin(WC *p);      ~WcAdmin();      void get()      {        return wc;      }private:     WC *wc;}WcAdmin::WcAdmin(WC *p):wc(p){    wc->doorClose();}~WcAdmin::WcAdmin(){    wc->doorOpen();}

 

 

 

 

转载地址:http://kauna.baihongyu.com/

你可能感兴趣的文章
8款非常棒的响应式 jQuery 幻灯片插件推荐
查看>>
Web前端开发人员和设计师必读文章【系列十一】
查看>>
saltstack 数据系统——Grains
查看>>
springmvc 集成和使用 hibernate-validator
查看>>
Apache和Tomcat利用Proxy代理保持Session
查看>>
LVM(Logical Volume Manager)逻辑卷管理 - 简介、历史、术语、安装、命令、实例、故障排除...
查看>>
多选按钮(CheckBox)——Mars Android开发视频教程之第一季第九集(重)
查看>>
订单号消费码生成(线性同余算法)
查看>>
《SQLSERVER2012之T-SQL教程》T-SQL子查询
查看>>
[deviceone开发]-优惠券商户管理端App开源
查看>>
360搜索“搏杀”成功,赢在创新
查看>>
Apache服务出现Forbidden 403的问题总结
查看>>
onSaveInstanceState和onRestoreInstanceState触发的时机
查看>>
Gradle依赖
查看>>
图解Tomcat类加载机制(阿里面试题)
查看>>
在 CentOS Linux 上安装 Cobbler 批量部署系统
查看>>
Jmeter简单应用1
查看>>
Shell之结构判断
查看>>
PULL解析器
查看>>
Bash的那点事
查看>>