当前位置: 首页 > news >正文

第11章 GUI Page462~476 步骤二十三 步骤二十四 Undo/Redo ②“添加操作”支持“Undo/Redo”

工程二

1.为AddAction类添加Undo() Redo() GetName()成员函数

2.实现AddAction类的Undo()   Redo()函数

3.运行效果,但是日志窗口没有记录

原因:AddAction(EditAction* newAction)函数没有实现,另外参数是EditAction类型

所以我们还需要在基类EditAction增加响应的成员函数,另外再实现AddAction(EditAction* newAction)

工程三

4. 基类EditAction中增加纯虚成员函数

编译报错:action_link.cpp:10: undefined reference to `EditAction::~EditAction()'  因为~EditAction()还是纯虚函数,还未实现

5. 实现EditAction::~EditAction()

编译正常了

工程四

6.开始实现AddAction(EditAction* newAction)函数

7.增加Discard()函数

8. ActionLink类增加两个私有成员,定义List和和ListIterator

运行效果

程序异常结束

工程五

相关文章:

  • Android开发中“真正”的仓库模式
  • vue项目报错RangeError: Maximum call stack size exceeded
  • RMAN-03002 RMAN-06059 ORA-19625
  • Ubuntun使用ISO镜像中的软件包作为本地镜像源
  • 2024年MySQL学习指南(四),探索MySQL数据库,掌握未来数据管理趋势
  • 云计算:OpenStack 分布式架构部署(单控制节点与单计算节点)
  • JMeter使用
  • 7nm项目之顶层规划——04 power routing and pushdown
  • 选择 省市区 组件数据 基于vue3 + elment-plus
  • mysql5.7安装-windows安装版本
  • WPF 如何知道当前有多少个 DispatcherTimer 在运行
  • 【.NET Core】记录(Record)详解
  • 数字后端设计实现 | 数字后端PR工具Innovus中如何创建不同高度的row?
  • 30分钟快速搭建并部署一个免费的个人博客
  • C语言编译器(C语言编程软件)完全攻略(第二十七部分:VS安全函数问题(C语言安全函数)是怎么回事?如何解决?)
  • 【译】JS基础算法脚本:字符串结尾
  • 9月CHINA-PUB-OPENDAY技术沙龙——IPHONE
  • 【css3】浏览器内核及其兼容性
  • 【刷算法】求1+2+3+...+n
  • ES6语法详解(一)
  • Git学习与使用心得(1)—— 初始化
  • JAVA多线程机制解析-volatilesynchronized
  • JS学习笔记——闭包
  • Rancher-k8s加速安装文档
  • SpiderData 2019年2月25日 DApp数据排行榜
  • SQLServer之创建显式事务
  • Vue 重置组件到初始状态
  • yii2权限控制rbac之rule详细讲解
  • 动手做个聊天室,前端工程师百无聊赖的人生
  • 如何设计一个微型分布式架构?
  • 使用common-codec进行md5加密
  • 吴恩达Deep Learning课程练习题参考答案——R语言版
  • 线上 python http server profile 实践
  • 与 ConTeXt MkIV 官方文档的接驳
  • 最近的计划
  • Java数据解析之JSON
  • Python 之网络式编程
  • ​2020 年大前端技术趋势解读
  • # Apache SeaTunnel 究竟是什么?
  • (01)ORB-SLAM2源码无死角解析-(66) BA优化(g2o)→闭环线程:Optimizer::GlobalBundleAdjustemnt→全局优化
  • (Matlab)基于蝙蝠算法实现电力系统经济调度
  • (定时器/计数器)中断系统(详解与使用)
  • (官网安装) 基于CentOS 7安装MangoDB和MangoDB Shell
  • (四)图像的%2线性拉伸
  • (转)es进行聚合操作时提示Fielddata is disabled on text fields by default
  • (转)原始图像数据和PDF中的图像数据
  • **Java有哪些悲观锁的实现_乐观锁、悲观锁、Redis分布式锁和Zookeeper分布式锁的实现以及流程原理...
  • .bat批处理(一):@echo off
  • .net core使用ef 6
  • .NET Standard 的管理策略
  • .NET 中使用 Mutex 进行跨越进程边界的同步
  • .net 桌面开发 运行一阵子就自动关闭_聊城旋转门家用价格大约是多少,全自动旋转门,期待合作...
  • .NET/ASP.NETMVC 深入剖析 Model元数据、HtmlHelper、自定义模板、模板的装饰者模式(二)...
  • .NET:自动将请求参数绑定到ASPX、ASHX和MVC(菜鸟必看)
  • .Net6支持的操作系统版本(.net8已来,你还在用.netframework4.5吗)