第六次作业(计算器第四步)
2016-05-24 21:18 面向对象程序设计课 阅读(636) 评论(0) 编辑 收藏 举报—— 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++编写简单的界面
- 了解更多面向对象的知识(接口,继承,覆盖...)
如果有不明白的地方,请在评论中提出来。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)