每周完成一个ARTS-第十四周-2019-7-31

每周完成一个ARTS:
  每周至少做一个LeetCode的算法题,阅读和点评至少一篇文本技术文章,学习至少一个技术技巧,分享一篇有观点和思考的技术文章(也就是Algorithm ,Review ,Tip,Share 简称ARTS)需要坚持至少一年。

三、Tip

MFC-序列化(Serialization)

程序效果:

CEmployee.h

#pragma once

// CEmployee 命令目标

class CEmployee : public CObject
{
public:
	CEmployee();
	int empID;
	CString empName;
	int age;

	virtual ~CEmployee();

public:
	void Serialize(CArchive& ar);
	DECLARE_SERIAL(CEmployee);
};

Employee.cpp

// Employee.cpp : 实现文件
//

#include "stdafx.h"
#include "MFCSerialization.h"
#include "Employee.h"


// CEmployee
IMPLEMENT_SERIAL(CEmployee, CObject, 0);
CEmployee::CEmployee()
{
}

CEmployee::~CEmployee()
{
}

void CEmployee::Serialize(CArchive& ar)
{
	CObject::Serialize(ar);

	if (ar.IsStoring())
	{
		ar << empID << empName << age;
	}
	else
	{
		ar >> empID >> empName >> age;
	}
}

// CEmployee 成员函数

CMFCSerializationDlg.h 

添加的变量:

public:
	afx_msg void OnBnClickedButtonSave();
	int m_EmpId;
	CString m_strName;

	int m_age;
	afx_msg void OnBnClickedButtonOpen();
	CString m_Filename;

CMFCSerializationDlg.cpp

 两个Button按钮函数的实现:

void CMFCSerializationDlg::OnBnClickedButtonSave()
{
	// TODO: 在此添加控件通知处理程序代码
	UpdateData(TRUE);
	CEmployee employee;
	CFile file;
	file.Open(m_Filename, CFile::modeCreate | CFile::modeWrite);
	CArchive ar(&file, CArchive::store);
	employee.empID = m_EmpId;
	employee.empName = m_strName;
	employee.age = m_age;
	employee.Serialize(ar);
	ar.Close();
}


void CMFCSerializationDlg::OnBnClickedButtonOpen()
{
	// TODO: 在此添加控件通知处理程序代码
	UpdateData(TRUE);

	CFile file;

	file.Open(m_Filename, CFile::modeRead);
	CArchive ar(&file, CArchive::load);
	CEmployee employee;

	employee.Serialize(ar);

	m_EmpId = employee.empID;
	m_strName = employee.empName;
	m_age = employee.age;
	ar.Close();

	UpdateData(FALSE);
}

四、Share

关于如何识别平面内封闭区间的问题(ue4,c++)

问题描述:通过鼠标在平面上不断点击会得到一个线段集合S,编写一个算法,识别出其中的每一个不可分割的小的封闭区域S(i),输出每一个小区域的点集合(顺或者逆时针)。

链接:https://blog.csdn.net/qq_22824481/article/details/66477426

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值