句柄类

Posted jingchu

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了句柄类相关的知识,希望对你有一定的参考价值。

#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;
}

 

以上是关于句柄类的主要内容,如果未能解决你的问题,请参考以下文章

循环中重新分配的句柄类的 Matlab 代码生成

(Kotlin)Fragment Back 堆栈句柄

Android Fragment句柄后退按钮按下[重复]

如何通过单击片段内的线性布局从片段类开始新活动?下面是我的代码,但这不起作用

VC获取自身窗口句柄

elasticsearch代码片段,及工具类SearchEsUtil.java