—— Deadline 2016/06/05 22:00——
↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑ ↑
计算器第四部分-->终于有界面啦!
!!!下文将“显示表达式和结果”的控件称为“显示区"。
- 不限制界面库的选择。不管你是用QT或者MFC还是其他,只要能做出来就行。
- 只接收以下的输入:
- 数字0-9
- 小数点
- 加减乘除(这里的乘除在界面上应显示为
×
和÷
) - 左右括号
- 等于号(按下等于号或者键盘的Enter键即得出结果)
- ESC键 (用来清空显示区)
- BackSpace键 (用来删除光标前面的一个字符)
以上这些都要有按键,同时也能通过键盘输入。除此以外的键盘输入不会显示到显示区中。
but!如果你有给你的计算器加其他功能,那么根据需要再加入其他按键也是可以的。
- 要支持批量运算,即作业5的文件输入输出。两者各有一个输入框,现在要提供两种输入路径的方式:
- 允许直接在输入框里填写路径。
- 在输入框旁边加上一个按钮,用来选择路径。路径选择完毕后,会自动填写到输入框里面。
批量运算功能可以放在另一个界面,也可以放在主界面(如果你不嫌丑的话……)。
- 向面向对象再进一步。(这是第七次作业的要求,在本次作业作为附加题)
- 类名应为名词。Print -> Printer, Scan -> Scanner ...
- 方法名为动词[+名词],如读为read... 写为write...
- 对原来的Print类进行改造:类名改为Printer。Printer作为基类,派生出三个子类。三个子类分别负责将结果输出到命令行窗口、文件、计算器的显示区。
- 基类拥有三个子类共有部分的抽象,其输出函数应为纯虚函数,其他的根据需要添加。
- 这样将三者分开来,以便切换输出方式的时候只需更改new的对象,不需要更改其他部分的代码。并且增加了扩展性。
- 需要用到
基类(父类)
、派生类(子类)
、构造函数
、析构函数
、虚函数
和Override
的知识。
本次作业目的:
- 会用C++编写简单的界面
- 了解更多面向对象的知识(接口,继承,覆盖...)
如果有不明白的地方,请在评论中提出来。