大佬教的几个小技巧

背景

前两天林师傅带我做课设的时候,遇到了许多开发上的问题,最终林师傅发动他的算法知识,解决了其中的许多,记录如下

正文

课设需要实现一个计算器,计算的最终结果需要以分数显示,如果分母为1则显示为整数形式;

需要实现一个整数类和一个派生的分数类

同时需要一个栈存储用户输入的符号

最开始我的做法是定义两个函数

1
2
void pushFenZi();
void pushFenMu();

然后问题便来了

用户输入的数据长度不定,于是我这个实现需要定义一个Flag,通过确定符号是否输入来确定数据输入是否结束

除了一个数据以外,其余数据都是用两个符号包裹的;而第一个数据只有一个符号包裹,我有需要设置一个firstFlag

诸如此类,最终搞了六七个flag,if层数多得离谱

最终林师傅的改进办法和解决办法的几个要点如下

操作基类相同,但名称不同的两个实例时可以只需要维护一个指针

这样的好处是,如果实例数量不是两个而是一百万个,就会有极大的效率提升

更新:2023年3月17日: 我也不知道当时解决的啥问题, 反正大致思想就是多态可以解决重复定义高相似度代码的问题

  • Copyright: Copyright is owned by the author. For commercial reprints, please contact the author for authorization. For non-commercial reprints, please indicate the source.

扫一扫,分享到微信

微信分享二维码
  • Copyrights © 2019-2024 kier Val
  • Visitors: | Views: