我有一个工程 想把界面和数据分开 想把涉及数据的 用函数封装起来
等界面保存的时候 包含这个函数的头文件 直接调用这个函数就可以了。但是怎么封装函数呢?比如 数据保存在 txt 文件然后头文件怎么写? cpp文件怎么写?我不需要封装成dll的形式
等界面保存的时候 包含这个函数的头文件 直接调用这个函数就可以了。但是怎么封装函数呢?比如 数据保存在 txt 文件然后头文件怎么写? cpp文件怎么写?我不需要封装成dll的形式
解决方案 »
- 局域网 多线程
- 求救:声明变量还出错?
- 大虾们来看看 图像存储问题
- VS2003环境设置中comand line及build过程产生的中间bat文件是如何组合出来的?
- 给移动硬盘驱动器加密!超难!!!
- 新手问题。谁能总结一下各个开发工具的安装环境吧?和开发环境的设置哪?
- 一个关于弹出消息对话框上按钮的名字的问题!谢谢!
- char* GetString(char cIn);到底返回什麼?
- 是否有必要用多线程发送和接收指令
- 在mfc dll使用boost thread。注册dll时出现错误
- 为什么运行时总是出现“This application has requested the Runtime to terminate
- 【问】关于全局变量线程中调用的疑惑
/**************************************************/
//类声明代码文件 datafunction.hclass DataProcessing{
void GetData();
};/**************************************************/
//类实现代码文件 datafunction.cpp#include "iostream"void DataProcessing::GetData()
{
cout << "获取数据函数";
}/**************************************************/
//工程源代码文件 project-01.cpp#include "datafunction.h"DataProcessing gDP;void main()
{
gDP.GetData();
}
以上分别是3个文件
大致就是这个架构
这位太兄说的很好,我就是按照这种方式,但是有错误 后来一看是 头文件包含顺序的问题~!
不过我还有一个疑问,如果用Instance 封装怎么封装呢?
比如
想调用函数的时候用 类名::Instance.函数名()用这个形式调用。
搜索一下单件模式吧把构造函数声明称私有类型的
使用一个指向自身类型的指针的静态变量,在Instance函数中如果指针为空就申请空间,再返回指针,如果不为空就直接返回指针
private:
DataProcessing(){};//单件模式需要将默认构造函数定义成 private
public:
static DataProcessing & Instance()
{
static DataProcessing Ins;
return ins;
}
void GetData()
{
cout << "获取数据函数";
}
};