中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-10-31 06:02
共 47,815 主题排行 / 349,930 发帖 / 今日 0 篇 / 48,290 会员排行
DOS开发编程 & 发展交流 (开发室) » [分享]一个弹出式窗口类(C++源码)
可打印版本  2,465 / 2
第1楼 awangwjf 发表于 2010-02-27 12:50
新手上路 发帖 3 积分 7
[分享]一个弹出式窗口类(C++源码)
这是《C++大全》上的一个DOS下弹出式窗口类C++示例,使用直接写视频VRAM方法实现窗口的显示,在DOS后期是一种成熟、使用率较高的方法。


窗口类的I/O层用纯C++代码+BIOS中断实现,没用一个标准库函数。(除了速度快以外,这种代码比较易移植)


下面是该类完整的C++源码,包含用于演示的一个简单的main,该示例思路清晰,代码实现简洁易理解,是学习C++用于面向对象设计的较好的入门级示例。


代码在BC++3.1上编译通过。



BC++下的代码copy到Win下有个别地方显示板式不同,没太大影响,没做调整。


这个示例是我学习C++的时候完成的,代码中的字符都是本人一个个敲进电脑的,一是为了学习BC++3.1的IDE,另外也能加深对代码的理解,书中个别印错的地方已经修正。现发上来和初学C++的朋友和爱好者共享。


那时的C++实现标准是1989年的2.1版,没现在这么复杂,模板和异常还是发展方向,名字空间,泛型听都没听说过,正因为这样,更能有助于学习C++面向对象的思维方法,而不是专注于代码的实现,这才是C++和C的本质区别。


2.1版的C++个人认为是比较纯淬的C++,能很好的用OO实现C++的初衷“使程序结构清晰、易于扩展、易于维护而不失其效率”,没有多余的东西,“增一分太肥,减一分太瘦”。


现在C++加入了各种“先进”的特性后,发展到目前的C++0X,连C++的发明人也不得不承认有些“四不象”了,真可惜了这一优美的程序设计语言。


题外:
关于BC++3的经典有了最新证据,Win7下的BC++3.1比在Windows3.1时代好用,把“环境”项里的25行显示改为50行,再得宜于Win7完善高效的内存管理,用起来真是舒服,再看看Win7的自家人VC6,“该程序有兼容性问题,请......”,我真的哭笑不得。

以前的ID不知为什么不能登录了,重注册了一个。
第2楼 stockghost 发表于 2010-02-27 17:30
中级用户 发帖 105 积分 215
都是DOS老人,同好!
Win9x/2k/xp都支持DOS程序,而且也支持dos32(不管是watcom还是djgpp编译出来的),但在vista测试,上述两种程序都不支持.
Win7没用过,支持DOS?
如果支持,估计也支持dos32.
第3楼 BA_WANG_MAO 发表于 2010-03-03 10:23
初级用户 发帖 13 积分 147
dos时刻最经典的"直接写屏"模式,绕开DOS的API和BIOS,直接对显存编程,提高显示速度.
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023