学习C++,既要会利用C++进行面向过程的结构化程序设计,也要会利用C++进行面向对象的程序设计,更要会利用模板进行泛型编程。下面是我整理的关于C++程序的基本框架,希望大家认真阅读!
一、引言
应用程序也像一个建筑物,有它的架构, 建筑物是有层次,模块, 和基本元素, 如砖块,或模版组成的。程序也非常相似,类就是C++程序架构的基本元素。
程序是运行在计算机上的, 而计算机必须有一个 *** 作系统,我们把 *** 作系统看作是一个平台,程序就是运行在这个平台上, 就像建筑物总是起在一定的基础上一样。
*** 作系统提供了许多程序编程接口,API 。 应用程序通过API 调用 *** 作系统许多内置的功能。
二、C++程序架构的基本元素 - 类
C++程序是由一个一个类组成的.,每一个类它可能是基类或者派生类,每一个类都封装了程序接口或者应用程序的概念等等,都有相应的功能和作用。通过类的继承,可以使用基类的特性,或者派生出其他的特性。使用虚拟函数和消息机制提供丰富的编程接口和控制。一个程序的入口点是其主函数,主函数的主要任务是完成一些初始化的工作和维护一个消息循环。通过主函数进入程序入口(如果编写的是基于Windows系统的程序,程序中将WinMain()函数作为应用程序的入口),根据主函数要求初始化窗口,发送消息调用其他的类,而类里封装着小程序或者低级的系统应用程序,然后完成类里的程序运行,这个过程也是对消息循环的维护。当按照发送消息的要求完成每一个类的调用,也就完成了一个程序。
C++程序启动和初始化过程是创建对象、建立各种对象之间的关系、把窗口显示在屏幕上的过程。而退出程序是关闭窗体销毁对象的过程。如果程序是MFC的Windows应用程序,程序使用WinMain()函数作为入口,这个函数已经通过封装隐藏与应用程序框架中。除WinMain()外,类似于CWinApp类成员函数Run()也是隐含执行的,Run()函数负责把消息放进应用程序窗口消息循环中,由WinMain()函数完成对Run的调用。当WinMain()函数寻找到应用程序对象后立即调用CWinApp类的虚函数InitInstance()进行重载,以知道究竟需要何种窗体框架。然后调用注册窗口类,进而调用LoadFrame()函数载入框架,使用派生类::Create()创建应用程序框架,接着创建程序窗口。使用显示更新函数显示更新程序窗口。
C++的类的调用过程也就是它的工作流程,也可以理解为类的消息循环,也就构成程序的框架。而这种消息的传送也就符合Windows应用程序的特点,消息驱动。如果我们要与程序交互的话,需要做的仅仅是选择适当的时机上系统产生消息了。
C++ 的模块和元素的运行法则 事件驱动。
C++的模块和元素之间的通讯 消息机制。 Windows消息机制
三、C++程序开发过程
根据问题建立模型,编写.h头文件、项目配置文件、.cpp源文件,然后预编译、编译,链接库文件,最后生成可执行程序。链接过程是将.obj目标代码和.lib函数库、类库合理有机组成.exe执行文件。
首先我对框架的看法:框架是为了方便我们程序员开发 减少代码量,及代码质量的工具 。框架(Framework)是整个或部分系统的可重用设计,表现为一组抽象构件及构件实例间交互的方法。\x0d\x0a\x0d\x0a也就说,程序框架更多的从代码可用性角度来定义,对于应用层,这样的概念很多,比如java开发框架,net框架等等,在单片机里面,我认为:可能更多的框架应该是面向硬件 *** 作行为,即做好单片机基本硬件模块的 *** 作函数,封装成一个API函数,然后再你main route里面使用这些API函数的接口,建立与外界的联系。\x0d\x0a\x0d\x0a我一般的做法是:\x0d\x0a\x0d\x0a1.做好基本数据结构的重定义,比如typedef一些基本数据类型,使之能够通用。。\x0d\x0a\x0d\x0a2.做好所有端口的映射,因为单片机的管脚是很多是复用的,做好这些cross-pin,对于复用很有帮助。。\x0d\x0a\x0d\x0a3.做好涉及部件接口的 *** 作函数接口,比如IIC总线,做好IIC总线 *** 作的代码,包括read,write函数;\x0d\x0a\x0d\x0a4.做好基本的通用函数接口,比如延时功能,串口调试功能,这些功能接口尽量做到与通用匹配,比如使用delay_ms(),sprintf等等;\x0d\x0a\x0d\x0a5.每一个接口对应一个C文件和H文件,这样组织框架很容易,而且也容易寻找不同接口包含在那些文件里面。。\x0d\x0a\x0d\x0a其他的,就是自己的一些开发习惯了吧。。在本教程中,我们将使用Kaboom框架来开发一个微信小程序源码框架,类似于Atari 的Breakout和Taito的Arkanoid等经典小程序。源码:y.wxlbyx.icu
在本教程结束时,您将能够:
使用 Kaboom 框架开发具有多个级别的微信小程序源码框架。
通过添加自己的通电和方块类型来构建基本小程序。
我们完成的小程序源码将如下所示:
我们将使用Michele Bucelli的这组精灵和Jaymin Covy的这个包中的音效。我们还将使用Soundimage.org的Eric Matyas的音乐。
入门
登录您的Replit帐户并创建一个新的 repl。选择Kaboom作为您的项目类型。给这个 repl 起个名字,比如“blockbreaker”。
创建一个新的副本
Kaboom repls 与您之前可能见过的其他类型的 repls 完全不同:您将处理代码、声音和精灵,而不是直接处理文件夹中的文件,后者可以直接在 Replit 的图像编辑器中绘制。
在我们开始编码之前,我们需要上传我们的精灵和声音。下载此 ZIP 文件并将其解压缩到您的计算机上。单击侧边栏上的“文件”图标,将提取文件的 Sounds 文件夹中的所有内容上传到 repl 的“sounds”部分,并将 Sprites 文件夹中的所有内容上传到 repl 的“sprites”部分。
上传文件后,您可以单击侧边栏中的“Kaboom”图标,然后返回“主”代码文件。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)