【主要思路】

  • 习惯将文字信息用图表表达
  • 基于助教在上篇博客下的留言做出的代码修改,但大部分由于时间关系还没完成;
  1. 对于选择条件不复杂的if语句改用switch语句,果然原本冗长的代码一下变得很清楚;
  2. 删除过多不必要的注释;
  3. 把字符串流对象的实例化调到进入循环之前
  4. Scan::checkNumber(string input)在本次代码中需要多次使用,将之从在main中调用改到在Scan::ToStringQueue(string input)中调用;

【出现的问题】

  • 在修改原代码的时候,为了减少if语句分支,使用了switch语句作为替代,但由于对此类语句较少使用,在使用过程中出现许多问题:其一,需要引用<stdio.h>类库,其二,开关语句的控制量必须是整型,最初我向switch中传入的控制量为string类型,得到报错信息“[ERROR]switch quantity not an integer”;
  • 这不是第一次出现内存错误,很明显对于某些知识基础掌握不大好,以及逻辑思维有相当的漏洞。用VS2012调试得到异常信息“0x00007FFA134C11A0 (msvcrt.dll) (Calculator.exe 中)处有未经处理的异常: 0xC0000005: 读取位置 0x0000000000000000 时发生访问冲突”,知道问题在于内存,暂未解决此问题;
  • 由于要把所有有关打印的内容都放在Print类当中实现,而我的计算过程基本上是一步到位的,所以我将Scan.hCalculation.h都引用到了Print类中,然而一开始我采用的其实是友元的方法,但是我们知道面向对象的一个基本原则是封装性和信息隐蔽,而友元却能访问其他类中的私有成员,不能不说这是对封装原则的一种破坏,所以弃用了。

【框架描述图】

最新文章

  1. wxWidgets
  2. awk处理之案例一:awk 处理百分比的问题
  3. Codeforces Round #346 (Div. 2) E - New Reform 无相图求环
  4. N!末尾有多少个零
  5. atitit。自己定义uml MOF EMF体系eclipse emf 教程o7t
  6. swift学习二:基本的语法
  7. 国外代理server
  8. C#文件处理
  9. sql注入绕过union select过滤
  10. JSP的几种跳转方式的异同
  11. 为什么导入本地jquery.js老是无效?(已解决)
  12. Python爬虫基础之Urllib
  13. WCF简介-01
  14. scala使用hbase新api
  15. html内容溢出部分...
  16. python调试工具pdb
  17. 自定义消息的操作方法ON_MESSAGE(..)
  18. 哪些地方会出现css阻塞,哪些地方会出现js阻塞?
  19. ngx-bootstrap学习笔记(一)-popover
  20. [leetcode]139. Word Break单词能否拆分

热门文章

  1. Git 原理入门
  2. Kafka 学习翻译 - 介绍
  3. yii学习笔记(5),视图操作
  4. Python学习手册之__main__ 模块,常用第三方模块和打包发布
  5. 嵌入式框架Zorb Framework搭建一:嵌入式环境搭建、调试输出和建立时间系统
  6. JavaWeb——课程管理系统(2).java---18.11.29
  7. python 字符串拼接效率打脸帖
  8. microbiom github reference
  9. Python:TypeError: &#39;range&#39; object doesn&#39;t support item deletion
  10. 文件包含漏洞(RFI)