码迷,mamicode.com
首页 > 其他好文 > 详细

句柄类

时间:2018-12-04 20:39:09      阅读:281      评论:0      收藏:0      [点我收藏+]

标签:read   smi   头文件   完成   需要   clu   技术   new   change   

#ifndef HANDLE_H
#define HANDLE_H

//文件呗修改 或 所依赖的头文件被修改时  项目管理员 需要 重复编译该文件
//易碎的基类问题
//解决技术 句柄类

//1. 有关的实现消失  留下指针  指向一个结构 
//   结构的定义与其所有的成员函数的定义一同出现在实现文件中 
//     只要接口不变 头文件就不需要变动 实现部分可以按需更改
//     完成后只需要对实现文件重新编译 然后连接到项目中

// 头文件 之包含公共接口 和 一个单指针  该指针指向一个没有完全定义的类

class Handle {
    struct Cheshire;
    Cheshire * smile;
public:
    void init();
    void cleanup();
    int read();
    void change(int);
    
};


#endif // !HANDLE_H
#include"Stash.h"

struct Handle::Cheshire {
    int i;
};

void Handle::init()
{
    smile = new Cheshire;
    smile->i = 0;
}

void Handle::cleanup()
{
    delete smile;
}

int Handle::read()
{
    return smile->i;
}

void Handle::change(int x)
{
    smile->i = x;
}

 

句柄类

标签:read   smi   头文件   完成   需要   clu   技术   new   change   

原文地址:https://www.cnblogs.com/jingchu/p/10066553.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!