《C++面向对象编程ppt课件.pptx》由会员分享,可在线阅读,更多相关《C++面向对象编程ppt课件.pptx(148页珍藏版)》请在三一办公上搜索。
1、1,第一讲,电子信息学院课程组武汉大学,面向对象程序设计,2,本讲主要内容,课程简介计算科学发展史 C+概述,3,教学方式,教学安排课程组6位老师轮流给大家上课课程情况课堂教学 3节课 * 12周 = 36课时上机安排 4节课 * 9周 = 36课时,4,教学安排,5,上机安排,光电信息类 王泉德老师 周六下午 100人电子信息类2-3班 赵小红老师 周二晚上 100人电子信息类567班 孙涛老师 周三晚上 105人 电子信息类145班 刘勇老师 周四晚上 105人,6,考核办法,期末考试,期中考试,平时,平时,7,课程的目标,掌握面向对象程序的基本概念、特点和原理;掌握面向对象程序设计思想
2、;了解基于Windows环境下编程的基本知识;学习C+程序设计语言的相关内容,能阅读编写C+程序;养成良好的编程习惯,强调编程思想;掌握程序设计技巧和程序设计能力;可独立设计和编写具有实际应用价值的面向对象程序。,什么是编程?,编程就是让计算机为解决某个问题而使用某种程序设计语言编写程序代码,并最终得到结果的过程。为了使计算机能够理解人的意图,人类就必须要将需解决的问题的思路、方法、和手段通过计算机能够理解的形式告诉计算机,使得计算机能够根据人的指令一步一步去工作,完成某种特定的任务。这种人和计算机之间交流的过程就是编程。,8,什么编程语言,电脑每做的一次动作,一个步骤,都是按照已经用编程语言
3、编好的程序来执行的,程序是计算机要执行的指令的集合,而程序全部都是用我们所掌握的语言来编写的。可以分成机器语言、汇编语言、高级语言三大类。,9,什么是编译器,编译器就是将“高级语言”翻译为“机器语言(低级语言)”的程序。一个现代编译器的主要工作流程:源代码 (source code) 预处理器 (preprocessor) 编译器 (compiler) 目标代码 (object code) 链接器 (Linker) 可执行程序 (executables),10,11,我们学什么?,C+编程语言?,Microsoft Visual Studio开发环境?,MFC?,不只这些!,12,一个类比,C
4、+,VC开发环境,学会这些, 也只是学会了使用画笔和画板两种工具罢了,13,使用相同的工具, 画出来的东西却有很大的分别,技术很重要,思想更重要!,14,C+&VC2010,Java&Eclipse,从思想的高度来看待编程时,语言和平台变为一个人抒写想法的载体。,15,因此,最重要的,还是要学习程序设计的思想。,16,前七讲的程序,控制台程序:掌握C+基本语法,理解面向对象编程思想,掌握面向对象编程方法,17,第八讲之后的程序,掌握应用程序框架和文档视图编程方法,18,第八讲之后的程序,掌握应用程序框架和对话框编程。,19,第八讲之后的程序,学会使用各种控件,20,养成良好的编程习惯,写出让计
5、算机明白的程序很重要,写出让人明白的程序更重要,21,一个较好的例子,22,使用缩进划分层次,使用空行为程序分段,23,运算符之间, 逗号之后添加空格 拉开文字间距离, 使程序易读,24,适当的注释,说明这一段程序的作用,使用有描述性的变量名和函数名,提示此变量或函数的作用,25,一个不好的例子,26,乱七八糟的缩进,不知所云的名称,一行语句做了太多事,还有注释去哪儿啦?,27,这么写方便!我就这么写怎么了!反正上完课这程序也没用了!,28,一年后,29,学长这个题目还不是很清楚能不能把你写的程序借我参考下呀,没问题!我的程序当年可是0 error!,学妹,30,。,这到底是要闹哪样!,31,
6、更多编程规范可以参考林锐博士的高质量C+编程指南的第一到第三章,网上就能下载到!,32,“伟大的车工值得给他几倍于普通车工的薪水,但一个伟大的软件代码作家,其价值 则要等同于一个普通的软件写手的价格的1万倍。”-比尔盖茨,33,学习态度和学习方法,按时上机、上课,不得早退。按时交作业。课前预习,课堂笔记,课后的上机,注意循序渐进。以上机操作为主,通过编写程序来理解概念。练习书中的例子和每章后的习题。同学间交流,和老师的沟通。多查阅MSDN帮助文档。有效利用网络资源,例如:,33,34,参考书,推荐参考书:C+语言基础类:C+程序设计教程钱能等.清华大学出版社C+面向对象程序设计谭浩强 .清华大
7、学出版社C+程序设计思想 Bruce Eckel.机械工业出版社C+ Primer 中文版Stanley B.Lippman等.人民邮电出版社Effective C+作者:Scott Meyers.译者:侯捷.电子工业出版社Visual C+类:Visual C+ 2008入门经典Visual C+ 2012入门经典(第六版)清华大学出版社,35,怎样学好这门课?,请牢记以下十六字真言,编程 编程编程编程编程 编程编程编程,36,程序设计的重要性,程序设计对后续学习的作用程序设计是把自己所学的东西转为实用的一个重要工具,也是验证和实现自己想法的一个重要途径大学生科研数学建模、电子设计大赛、嵌入
8、式大赛等本科毕业设计研究生阶段参与科研的必备技能其它大学生助研兴趣爱好移动平台程序开发为未来工作准备的一项技能,李仲初,陈一舟,雷 军,37,几个iPhone软件的例子,Trism,38,几个iPhone软件的例子,iShoot,39,几个iPhone软件的例子,iSteam,40,会说话的汤姆猫:手机宠物类应用游戏。英文名称是Talking Tom Cat。Outfit7公司“会说话”(Talking Friend)系列应用的第一款游戏。2010年7月首度在App Store露面,目前下载量已超过4000万次。平台系统iOS 4.3.2或Android 2.2以上,41,进入下一节,42,本
9、讲主要内容,课程简介计算科学发展史 C+概述,43,计算机科学发展史,18世纪, Charles Babbage设计出了分析机,也是世界上第一台真正意义上的计算机,44,世界上第一位程序员 Ada Byron,2012年12月9日,Google用Doodle纪念Ada Byron诞辰197周年,45,1946年,宾夕法尼亚大学的Elkhart和McCauley带领团队制造了计算机ENIAC,46,1971年,第一台微处理器 Intel4004,灯!等灯等灯,47,Debug一词的来历,Grace Murray Hopper 计算机程序设计的先驱,在一次排除计算机故障中,Hopper发现一只飞蛾
10、刚好短接了计算机的两个继电器,48,她将这只飞蛾夹在自己的日记中。这只飞蛾成为世界上第一个计算机Bug,49,计算机设备的使用特点,硬件是计算机的“躯体”,软件是计算机的“灵魂”。没有软件的支持,就没有硬件的生命力。,计算机硬件,系统软件,支撑软件,应用软件,50,计算机软件,软件的三个要素:程序:能够让计算机按照人们的意愿完成各种操作的指令序列;数据结构:用来组织操作对象;文档:用来描述程序设计过程。,51,程序设计,程序设计往往以某种程序设计语言为工具,给出这种语言下的程序。程序设计过程应当包括分析、设计、编码、测试、排错等不同阶段。专业的程序设计人员常被称为程序员。研究一种切实可行的程序
11、设计方法至关重要。,52,软件方法的发展,面向计算机的程序设计,计算机诞生初期,人们与计算机打交道的惟一途径是机器语言,这是一种可以被计算机直接识别的程序设计语言,其中的每一条指令和操作数都是采用二进制形式表示的。缺点:复杂、易错、难读、难纠错,指令格式与机器相关。,53,软件方法的发展,面向过程的程序设计,从功能的角度分析问题,将待解决的问题空间分解成若干个功能模块,每个功能模块描述一个操作的具体过程。结构化程序设计是面向过程程序设计的一个典型代表。,54,按照功能划分的软件系统结构,55,程序的组成:,56,结构化程序设计,形式:程序设计= 算法 + 数据结构程序内容= 过程 + 过程调用
12、 =主模块 + 若干个子模块 =main() + 子函数重点:如何实现细节过程,将数据与函数分开。特点:自顶向下,逐步求精功能分解。缺点:系统整体性差,审视问题域的视角与常规不同,抽象级别较低,可重用性差,可维护性欠佳。,57,问题:设计一个学生成绩处理程序,要求输入一名学生的姓名和3门课的成绩,求出平均成绩。 设计思路:先编写一个求平均成绩的函数;主程序实现输入学生姓名和课程成绩的功能,并调用函数计算平均成绩。,58,#include using namespace std;float getave(int n, float sc )float ave=0;for(int i=0;in;i+
13、)ave=sci+ave;ave=ave/3.0f;return ave;,void main()char name12;float score3;cinname;/读入姓名for(int i=0;iscorei;/读入成绩 /输出平均成绩coutname“的平均成绩是:”getave(3,score)endl;,59,void main()char name12;float score3;cinname;/读入姓名for(int i=0;iscorei;/读入成绩 /输出平均成绩coutname“的平均成绩是:”getave(3,score)endl;,#include using name
14、space std;float getave(int n, float sc )float ave=0;for(int i=0;in;i+)ave=sci+ave;ave=ave/3.0f;return ave;,如果要实现多个学生的成绩计算呢?,60,#include using namespace std;#define MAXLENGTH 3struct STUchar name12;float scoreMAXLENGTH;float ave;void main()STU s3;int i,j;for(i=0;isi.name;,si.ave=0;for(j=0;jsi.scorej;
15、si.ave=si.scorej+si.ave;si.ave=si.ave/3.0f;for(i=0;i3;i+)coutsi.name的平均成绩是: si.ave endl;,如果要增加其他信息和功能呢?比如:学号,总成绩计算等,61,62,软件方法的发展,面向对象的程序设计Object-oriented programming, OOP面向对象程序设计方法是指用面向对象的方法指导程序设计的整个过程。所谓面向对象是指以对象为中心,分析、设计及构造应用程序的机制。数据结构本身可能包含算法和数据结构:对象=(算法+数据结构),程序=(对象+对象+),63,对象具有的特征,万物皆为对象每个对象都有
16、自己的惟一标识对象具有属性和行为对象具有状态对象之间依靠消息实现通信,64,构成程序的对象,数据结构,算法,算法+数据结构,算法+数据结构,算法+数据结构,算法+数据结构,算法+数据结构,对象,65,66,几种有代表性的OOPL,Simula67,支持单继承、一定含义上的多态和部分动态联编。Smalltalk,支持单继承、多态和动态联编。Eiffel,支持多继承、多态和动态联编。C+,支持多继承、多态和部分动态联编。Java,提供了类机制,以及有效的接口模型。支持单继承、多态和动态联编。科研前沿目前用的最多的要属Microsoft公司的Visual C+ 6.0(简称VC6.0),它是基于Wi
17、ndows窗口规范的一个C+的具体实现版本。目前版本更新到2013。,67,2012年2月世界编程语言排行榜:,68,2013年1月编程语言排行榜榜单 :,69,2013年11月编程语言排行榜榜单 :,70,组件化程序设计方法所谓组件就是一种可以自行进行内部管理的一个或多个类所组成的群体。用户通过外部界面使用它,而不了解它的内部信息和操作方式。每个组件包含一组属性、事件和方法。继承并发展了面向对象的程序设计方法。它把对象技术应用于系统设计,对面向对象程序设计的实现过程作了进一步的抽象。可以把组件化程序设计方法用作构造系统的体系结构层次的方法,并且可以使用面向对象的方法很方便地实现组件。,软件方
18、法的发展,71,嵌入式程序设计嵌入式产品的核心是嵌入式计算机的应用。嵌入式计算机是一种智能部件内置于专用设备/系统的高速计算机。嵌入式系统是以应用为中心,适用于应用系统对于功能、可靠性、成本、体积、功耗有严格要求的专用计算机系统。,软件方法的发展,72,进入下一节,73,本讲主要内容,课程简介计算科学发展史 C+概述,74,C+语言的产生,C+是从C语言发展演变而来的-是一个更好的C。引入了类的机制-最初的C+被称为“带类的C”。1983年正式取名为C+。从1989年开始C+语言的标准化工作。于1994年制定了ANSI C+标准草案。于1998年11月被国际标准化组织(ISO)批准为国际标准,
19、成为目前的C+。目前的标准版本为C+11。,75,C+语言的三个阶段,第一阶段从80年代到1995年。这一阶段C+语言基本上是传统类型上的面向对象语言,并且凭借着接近C语言的效率,在工业界使用的开发语言中占据了相当大份额; 第二阶段从1995年到2000年,这一阶段由于标准模板库(STL)和后来的Boost等程序库的出现,泛型程序设计在C+中占据了越来越多的比重性。当然,同时由于Java、C#等语言的出现和硬件价格的大规模下降,C+受到了一定的冲击; 第三阶段从2000年至今,由于以Loki、MPL等程序库为代表的产生式编程和模板元编程的出现,C+出现了发展历史上又一个新的高峰,这些新技术的出
20、现以及和原有技术的融合,使C+已经成为当今主流程序设计语言中最复杂的一员。,76,C+语言的组成,C子语言。C+支持C语言的几乎全部功能,主要是c89的部分,在语法上与C语言仅有极微妙的差别(如括号表达式的左右值性,具体请参考C+标准文献)。 面向对象的C+语言。C+语言原本不具备面向对象的设计功能,然而随着面向对象编程的概念的提出以及如Java等语言的发展成熟,C+语言也开发出了支持面向对象功能的版本. 泛型编程语言。C+强大(但容易失控的)模板功能使它能在编译期完成许多工作,从而大大提高运行期效率。 STL(C+标准模板库,Standard Template Library)。随着STL的
21、不断发展,它已经逐渐成为C+程序设计中不可或缺的部分,其效率可能比一般的native代码低些,但是其安全性与规范性使它大受欢迎。,77,著名演讲视频,演讲者:Exceptional C+ 和 C+ Coding Standards 的作者、ISO C+ 委员会的Chair、C+/CLI首席架构师、Microsoft的软件架构师, Herb Sutter 。http:/,Why C+,78,效率、灵活、抽象、生产率,79,C+开发环境,Visual Studio(Visual C+)BorlandC+ BuilderEclipse+CDTEmacs + GCC(Linux环境下用)Dev-C+Q
22、t等,80,全面兼容C它保持了C的简洁、高效和接近汇编语言等特点,具有良好的移植性在继承了C语言丰富的运算符和数据类型的基础上,对C的类型系统进行了改革和扩充C+也支持面向过程的程序设计,不是一个纯正的面向对象的语言支持面向对象的方法C+的错误检查机制强,提供了专门的机制检查类和异常处理功能,C+的主要特点,81,C+程序与C程序,/C程序: simple.c#include void main(void) printf( Hello World !n ) ; / 输出字符串运行结果:Hello World!,82,/C+程序:simple.cpp# include int main() st
23、d:cout Hello, world! std:endl; return 0;运行结果:Hello World!,C+程序与C程序,83,或者/C+程序:simple.cpp# include using namespace std; int main() cout Hello, world! endl; return 0;,C+程序与C程序,84,根据ISO C+的规定,全局main函数必须返回int,下面写法是合法的。int main() / . int main(int argc, char * argv) / . 但是Visual C+支持下面的写法(尽量不要这么写)void mai
24、n() / . ,C+全局函数,85,C+程序与C程序的比较,C+程序与C程序的结构完全相同。C源程序文件的扩展名为C;C+源程序文件的扩展名为CPP。C程序所包含的标准输入、输出的头文件是stdio.h,输入、输出通常通过调用函数来完成;而C+程序可以包含标准输入、输出流的头文件iostream.h,输入、输出可以通过使用标准输入、输出流对象来完成。,86,C+程序与C程序的比较(续),从机制上:c是面向过程的;c+除了支持面向过程,还支持面向对象,提供了类。从适用的方向:c适合要求代码体积小的,效率高的场合;c+适合更上层的,复杂的。C语言是结构化编程语言,C+是面向对象编程语言。C+侧重
25、于对象而不是过程,侧重于类的设计而不是逻辑的设计。,87,C语言是面向过程的,C+是面向对象的,88,他们的区别是什么呢?,让我们以刷牙为例,89,C,面向过程是这样思考的,90,面向对象是这样思考的,C+,获取,使用,使用,使用,91,那么面向对象有什么优势呢?,假如有一天,牙刷被换成了电动牙刷。,92,C,程序要重写!,对于面向过程的程序,93,C+,获取,使用,使用,使用,把牙刷这个对象换成电动牙刷就可以了!,对于面向对象的程序,94,学习C+,依然要使用C语言的语法基础,但是思维上一定要从C语言的思想转变到C+的思想上来,95,C+程序基本结构,一个C+程序可以由多个函数构成;每个程序
26、都从主函数main()开始执行,从主函数返回时结束执行;组成程序的语句主要包括声明语句和执行语句; 声明语句用于声明变量和函数。变量声明语句说明变量的名称和数据类型,函数声明语句说明函数的名称、参数类型和返回值; 执行语句包括:赋值语句、表达式语句、函数调用语句和流程控制语句等,它们写在一个函数中(包括主函数)。,96,#include using namespace std;int main()int math, chem, phy, ave;coutmathchemphy;ave=(math+chem+phy)/3.0+0.5;/ 0.5用于四舍五入if (ave=90)/ 使用ifels
27、e if语句cout=60 ,例 输入一个学生三门课的成绩,计算其平均值,并根据其值输出评语。,97,一行写一条语句。长语句可写在多行,但不能将一个单词分两行写。为了提高可读性,采用合理的缩格书写方式。大括号“”和“”各占一行。为源代码加入注释,使用“/”和“/*”、“*/”。,C+程序的书写格式,98,函数定义:当函数定义放在函数调用之后时,C程序函数原形(function prototype)有时可省略;而C+函数原形(声明)必不可少。函数参数列表:一个不带参数的C函数原形必须使用void;而C+可以使用空参数列表。 函数参数:C+还要求函数所有参数在函数原形的圆括号中声明。变量声明:在C
28、语言中,函数和语句块(花括号“”之间的代码)的所有变量声明语句必须放在所有执行语句之前;而C+中变量声明语句不要求放在函数和语句块的开始位置,可以把变量声明放在首次使用变量的附近位置,这样可提高程序的可读性。,C+对C的一般扩充,/C+,C都可以 int Max(int a, int b) ; /C+非法,C可以 int Max(a, b) int a; int b; ,99,动态使用内存:C+用new和delete运算符取代C的内存分配和释放函数malloc()和free()。字符串:标准C+提供了字符串类,可以替代C函数库中的字符数组处理函数。输入、输出操作:C+用控制台输入、输出流对象(
29、在头文件iostream.h中进行了类的声明)替代C的stdio函数库,利用“”流提取运算符或“”流插入运算符,分别将数据对象从输入流提取出来或插入到输出流,从而完成数据的输入和输出。 使用C+面向流的输入、输出方式提高了程序的可读性,减少了错误的发生。,C+对C的一般扩充,100,#include / 使用输入、输出流using namespace std;int main(int argc, char * argv) coutxyz ; / 从键盘读取数据给变量coutThe sum is x+y+zendl ;/ 输出结果return 0;程序运行的结果为:please enter th
30、e value of x , y , z :2 4 6The sum is 12,例 编写程序用标准输入流接收用户从键盘输入的数据,用标准输出流将运算结果输出到屏幕。,101,C+输入/输出围绕着数据流这个概念,在数据流中,可以把数据插入输出流,或者从输入流中提取数据。cout:到屏幕上命令行中的标准输出流;cin:来自键盘的标准输入流 。这两个流的名称都定义在std命名空间中。,基本的输入/输出操作,102,可以通过标准输入流cin从键盘获得输入,与输入操作符()配合使用。读入用户输入的数据。从键盘读取整数int v1,v2; std: cinv1v2;从键盘读取浮点数 int v1=0,v
31、2=0; double t=0.0;std: cinv1tv2;,从键盘输入,103,cout:标准输出与输出操作符()配合使用,在标准输出上输出信息。例如:cout“enter two numbers”endl;操纵符endl将它写入输出流时,具有输出换行的效果,并刷新与设备相关联的缓冲区。通过刷新缓冲区,用户可立即看到写入到流中的输出。,到命令行的输出,104,举例:,#include using std:cout;using std:endl;int main() int num1=1234,num2=567;coutendl;coutnum1num2;coutendl;return 0
32、;,105,cout#include using namespace std;int main() int num1=1234,num2=567;coutendl;coutsetw(6)num1setw(6)num2endl;return 0;,格式化输出,106,转义序列,107,n与endl的区别,n表示的是换行符,起单纯的换行作用(只提供一个换行符);endl是一个预定义的iostream操纵符,endl在输出流中插入一个换行符,然后刷新输出缓冲区。,VC+开发环境,108,项 目,项目是构成某个程序的全部组件的容器,该程序可能是控制台程序、基于窗口的程序或其他别的程序。程序通常由一个或
33、多个包含用户代码的源文件,可能还要加上其他包含辅助数据的文件组成。某个项目的所有文件都存储在相应的项目文件夹中,关于该项目的详细信息存储在一个扩展名为.vcproj的XML文件中,该文件同样存储在相应的项目文件夹中。项目文件夹还包含其他文件夹,用来存储编译和连接项目时所产生的输出。,109,解决方案,解决方案是一种将所有程序和其他资源聚集到一起的机制。一个或多个项目文件夹是解决方案文件夹的子文件夹。在创建某个项目时,如果没选择将该项目添加到现有的解决方案,那么系统将自动创建一个新的解决方案。当创建项目及解决方案时,可以将更多项目添加到同一个解决方案中。一般来说,各个项目都应该有自己的解决方案。
34、,110,启动 vs2010开始菜单所有程序找到文件夹 Microsoft Visual Studio 2010找到程序 Microsoft Visual Studio 2010运行该命令,一、Visual Studio 2010 图形界面,启动界面,主菜单: File NewProject或者使用快捷键:Ctrl+Shift+N即同时按住:Ctrl, Shift 和字母N三个键,新建工程,控制台应用程序,即使简单的windows程序中也有大量代码,而学习C+细节时不被windows的复杂性分散注意力非常重要。控制台程序基本上是基于字符的命令行应用程序。在前面三章的学习中,我们讨论的是win3
35、2控制台应用程序。,114,试一试:为Win32控制台程序创建项目,115,新建项目,116,在弹出的对话框中,选择:Vsual C+,Win32Win32 Console App取一个项目名字,例如ex1_01选择项目放置的目录,例如C:myc点击OK按钮,创建项目,创建项目之后,弹出新的对话框点击Application Settings按钮,进行设置,新建项目,新建项目,选择默认选项,然后点击Finish按钮,新建项目,119,左边栏是工程文件的树状浏览器SourceFiles节点中放置c/c+源程序,项目创建完成可以开始软件开发了,项目中包含的文件,120,添加代码,121,主菜单:Bu
36、ildBuild Solution或者组合快捷键:Ctrl+Alt+F7,编译+链接,程序的Debug版本和Release版本,Vc+自动创建可产生两种应用程序版本的配置:一种称为Debug版本,该版本包括帮助用户调试程序的信息。使用程序的Debug版本,可以在出现问题时单步执行代码,以检查程序中的数据值。另一种称为Release版本,它不包括调试信息,并打开了编译器的代码优化选项,以提供最高效的可之行模块。,123,试一试:创建空控制台项目,124,在弹出的对话框中,选择:Vsual C+,Win32Win32 Console App取一个项目名字,例如test选择项目放置的目录,例如C:m
37、yc点击OK按钮,创建项目,新建项目,创建项目之后,弹出新的对话框点击Application Settings按钮,进行设置,新建项目,如红框所示:先取消Precompiled header前的勾勾然后在Empty project前面打勾最后点击Finish按钮,新建项目,左边栏是项目文件的树状浏览器SourceFiles节点中放置c/c+源程序,项目test创建完成可以开始软件开发了,主菜单:ProjectAdd New Item或者使用组合快捷键:Ctrl+Shift+A,在项目中创建新的源程序,在弹出的对话框中,选择 C+ File给新建的源程序取一个文件名字,例如main.cpp点击A
38、dd按钮,创建源程序main.cpp,创建源程序main.cpp,主菜单:BuildBuild Solution或者组合快捷键:Ctrl+Alt+F7,编译+链接,错误处理,故意输入一行有错误的源程序couterror;然后重新Build(方法如前所述),错误信息,错误信息定位,按F4键找到错误信息对应的源代码,错误信息更正,然后重新Build(方法如前所述),运行测试程序,主菜单:DebugStart Without Debugging或者组合快捷键:Ctrl+F5,运行测试程序,运行结果 随便按下一个键,关闭运行窗口,main,wmain和_tmain,所有ISO/ANSI C+程序都是在
39、main()函数中开始执行的。当使用Unicode字符时,微软还提供了相应的wmain函数。名称_tmain被定义为main或wmain,这取决于程序是否将使用Unicode字符。,139,创建MFC应用程序,如果某个现有项目处于活动状态,可以从File菜单上选择Close Solution。也可以创建新项目,使当前解决方案自动关闭。,140,新建项目,141,新建项目,142,新建项目,143,新建项目,144,应用程序类型选择:单文档多文档对话框,查看新建的项目,145,编译和执行,146,147,本讲小结,理解面向对象程序设计思想。了解C+的特点,掌握简单的输入输出流用法。熟悉VC+开发
40、环境及特点,为今后能够熟练编程和调试做好充分准备。要有项目观念,理解项目和解决方案及其相互关系;熟悉开发环境的各组成部分、熟悉各种编辑器的操作方法和使用技巧,熟悉菜单栏和工具栏操作;弄清楚Release与Debug的区别;重视MSDN在VC+环境编写代码的作用;熟悉几种常用的VC+ 项目的建立方法(sdi程序,mdi程序,基于对话框的程序,控制台程序)。,作业,1.自学vc+开发环境。(vc+6.0或vc+2008,vc+2010,vc+2012均可)2.创建单文档应用程序Mysdi,并参考课本例1-2完成:对Mysdi使用资源编辑器编辑图标、工具栏、快捷键、串表和版本信息。3. 创建一个名为mydlg的对话框应用程序,并修改程序的大小图标、修改版本号等。4.自学第二章:变量,操作符和控制语句,字符串及运算等基本语法。,148,