当前位置:首页 > C++语言编程入门
第一章 C++语言编程入门
一、引言
1 认识一个系统的过程:渐进过程 2 实现一个系统的过程:“瀑布型” 3 面向对象方法学原则
实现系统的方法学原理与认识客观世界的过程尽可能一致 4 面向对象方法学思想
客观世界是由各种对象组成,每种对象有各自的内部状态和运行规律,不同对象的相互作用就构成了各种不同的系统。设计一个系统时,在满足需求条件下把系统设计成由一些不可变的部分组成的最小集合,则设计是优秀的。 二、程序设计方法学
1 结构化程序设计方法(Structure Programming)
结构化程序设计方法,以“过程”和“操作”为中心,可重用性差 2 面向对象的程序设计方法(Object-oriented Programming) 认识客观事物应先从“对象”入手,然后转向“过程”
“对象”和“数据结构”是相对稳定的,“过程”和“操作”是不稳定的 。以“对象”为中心,软件的主题结构比较稳定,思维成果的可重用性较好。
3 面向对象语言提供了特定的语法成分保证和支持面向对象程序设计,并且提供了继承性、多态性和动态链接机制,使类和类库成为可重用的程序模块。 三、面向对象的概念
对象的定义
– 客观世界的实体称为对象,如一个商品销售系统中顾客、商品、厂家都是对象。
– 无法触及的抽象事件,如一次演出、一场球赛等。 – 对象有如下特性:
? 有一个名字以区别于其它对象 ? 有一个状态用来描述它的某些特征
? 有一组操作,每个操作决定了对象的一种功能或行为
? 对象的操作分为两类:自身承受的操作、施加于其它对象的操作
例如有一个人名字叫王东,性别男,身高1.80m,体重68kg,可以修电器,可以教计算机课,描述该对象如下:
– 对象的状态:
? 性别:男 ? 身高:1.80m ? 体重:68kg
– 对象的功能:
? 回答身高 ? 回答体重 ? 回答性别 ? 修理电器
? 教计算机课
– 从实现机制看,– 对象是状态和方法的封装体
? 状态:对象的数据结构内容和值
? 方法:一系列实现步骤,由若干操作构成
总结
– “对象”是具有特殊属性(数据)和行为方式(方法)的实体,占有存储空间,具有传统语言的数据类型,给对象分配存储单元即确定了给定时刻该对象的状态,与每个对象相关的方法定义了该对象的操作
面向对象程序设计方法要求语言必须具备\抽象、封装、继承和多态性\这几个关键要素。
比如在现实生活中,某一棵桃树可以看做是一个具体对象,一棵梨树也是一个对象,而\树\的形态和特征是两者共有的。而在程序中,我们反过来为之,先把类型抽象出来,比如我们定义了一个类,说明哪些特征,然后可以定义一个完全符合这些特征的一个\变量\,这个变量就是一个对象。所以,抽象就是站在更高一个层次来看待问题。
那封装就是把一组数据和与其有关的操作集合组装在一起,形成一个能动的实体,也就是对象。就象电路设计,以前是用一个个晶体管的,后来把能完成某一功能的晶体管做在一起封装起来,并只提供几只引脚,外界只能通过这些引脚而不能通过别的途径来\访问\内部功能,这就成了集成电路。封装使得一个对象具备独立和明确的功能,并提供接口便于和其它对象作用,而其内部的代码和数据都是受保护的。 继承就是一个对象可以获得另一个对象的特性的机制
多态性:不同的对象可以调用相同名称的函数,却能导致完全不同的行为的现象。
C++语言不是一种纯面向对象的语言(还用到main()这样的全局函数)但是应当尽可能的把变量和函数都限制在局部的类中。(类就是一种自定义的结构数据类型)
C++环境基础
第二章 函 数
一、函 数
1 如何学习函数 什么是函数。
为什么要定义函数。 何时定义函数。 2 学习内容:
-函数的声明与定义 -函数调用机制
-全局变量、局部变量和静态变量
-递归函数 -函数重载 二、函数声明与定义
1 函数在使用前必须声明或定义。
2 函数的定义只有一次,但函数的声明可以出现多次。 例:#include
void main(){double x ; 函数原型 cout< 3 函数的定义和声明必须在参数、返回值方面保持一致,否则认为是函数重载。 函数声明与定义 错误 void main() { func(); } Void func() { …… } 正确 void func(); void main() { func(); } Void func() { …… } 三、函数的结构与使用 2 函数的结构:函数头+函数体 返回值 函数名 (参数表) { 函数体 } 3 函数的使用 -函数通过调用发挥作用 int func(int , int) ; void main(){int para1,para2,result ; result=func(para1,para2)} -在面向对象思想中,函数调用成为对象之间发送消息的工具。 int a() { int class a::a() { b(); class b::b() ; } } 4 main函数的使用 -main函数是由系统调用的第一个函数,是整个程序的入口。 -main函数直接或间接调用程序中所有其他函数。 -main函数的参数通过命令行提供,如: run arg1 arg2 arg3 -main函数返回值给调用它的系统。 5 函数的返回:执行到函数的最后一条语句或遇到return语句。 四、函数调用 1 函数调用的过程 A ( ) B ( ) C ( ) { …… {…… {…… B ( ) ; C ( ) ; …… …… …… } } } 2 函数调用的实现--栈 -栈中存放的内容 调用函数的返回地址 栈空间 传递的参数 被调用函数的局部变量 3 函数调用时栈的变化 4 调用函数时会自动申请该函数的栈空间,函数运行完毕后自动释放所占的栈空间。函数中的局部变量是临时存在的。由于栈空间是有限的,因此函数调用不是无限的,尤其是递归函数要注意结束条件。 参数传递中栈的变化 void funcAA(int paraAA) { int localAA; } int funcA(int para1, int para2) { int local1=1; funcAA(); return para1+para2+local1; } void main()
共分享92篇相关文档