总看看书上的例子感觉很没有成就感,深思述略了一下“资源管理类”,看到“资源”我想起了厕所,无论是在宿舍还是在公司里厕所的资源都是有限的,有考虑到自己接触的厕所都是比较低端的那种,也就是说只能通过关门和开门来表示是否有人,于是我的类产生了,如下:
测所类:
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();
}
原文链接: https://www.cnblogs.com/onlycxue/archive/2013/05/22/3093745.html
欢迎关注
微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍
原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/89446
非原创文章文中已经注明原地址,如有侵权,联系删除
关注公众号【高性能架构探索】,第一时间获取最新文章
转载文章受原作者版权保护。转载请注明原作者出处!