22:14:22 第一章面向对象程序设计概述 本章主要内容 1.C++语言的发展历史 2.C+程序举例 重点 3.面向对象程序设计技术的一些基本特征 (1).数据抽象 (2).封装性和信息隐藏 (3).继承性 (4).多态性 4.熟练掌握 Visua1C++上机环境 重点
22:14:22 第一章 面向对象程序设计概述 本章主要内容 1.C++语言的发展历史 2.C++程序举例 —— 重点 3.面向对象程序设计技术的一些基本特征 (1).数据抽象 (2).封装性和信息隐藏 (3).继承性 (4).多态性 4.熟练掌握Visual C++上机环境 —— 重点
22:14:22 §1C++语言发展简史 C+语言由AT&T公司Be11实验室的 Bjarne stroustrup设计 带类的C:1979年10月Cpre预处理器的开发,C中加入了 Simula67中引入的类,于此后在系统开发中,取得初步成功 1985年:《C++程序设计语言》出版 1989年:面向对象程序设计的支持更加完善 .1993年:进一步完善 1994年:制定了 ANSI C++标准草案 1998年:IS0C++98标准 .继续发展中
22:14:22 §1 C++语言发展简史 .C++语言由AT&T公司Bell实验室的Bjarne Stroustrup设计 .带类的C:1979年10月 Cpre预处理器的开发,C中加入了 Simula67中引入的类,于此后在系统开发中,取得初步成功 .1985年:《C++程序设计语言》出版 .1989年:面向对象程序设计的支持更加完善 .1993年:进一步完善 .1994年:制定了ANSI C++标准草案 .1998年:ISO C++ 98标准 .继续发展中
22:14:22 §2简单的C++程序举例 例1.经典的He110Wor1d程序 include h> usidgmaamds pace std; toid main o I cout << Hello World! < end1 cout <<Henle Worodf++ program. < endl << This is our first C++ program. < end1; 新的C+标准推荐使用第一种方法
22:14:22 §2 简单的C++程序举例 例1.经典的Hello World程序 #include using namespace std; void main() { cout void main() { cout <<"Hello World!" << endl << "This is our first C++ program." << endl; } 新的C++标准推荐使用第一种方法
22:14:2 例2.读取输入数据:从键盘输入一个整数、一个实数 字符,一个字符串,再重新输出到屏幕上 #include using namespace std void maino i int nA: float fB: char cC. char pCD [20] cout>nA > fB>> cC > pcD cout < nA < < fB < < cC < < pcD < endl:
22:14:22 例2.读取输入数据:从键盘输入一个整数、一个实数、一个 字符,一个字符串,再重新输出到屏幕上 #include using namespace std; void main(){ int nA; float fB; char cC; char pcD[20]; cout > nA >> fB >> cC >> pcD; cout << nA << " " << fB << " " << cC << " " << pcD << endl; }
22:14:22 例3.输入圆半径,求圆的周长和面积 方法一:C语言的方法 #include using namespace std void maino i float fR. fIrth. farea const float pi=3. 1415926f; cout >fR fIrth =2pi*fR: fArea pi*fR*fR: cout < Radius= << fR < end1; cout < Girth= < fIrth < end1 cout < Area= < fArea < end1
22:14:22 例3.输入圆半径,求圆的周长和面积 #include using namespace std; void main(){ float fR,fGirth,fArea; const float pi=3.1415926f; cout > fR; fGirth = 2*pi*fR; fArea = pi*fR*fR; cout << "Radius= " << fR << endl; cout << "Girth= " << fGirth << endl; cout << "Area= " << fArea << endl; } 方法一:C语言的方法
22:14:22 方法二:面向对象的方法 include using names pace std const float pi=3. 1415926; void maino Circle A B A Set- Radius (6. 23f) cout < A Radius= < A. Get-Radius0 < end1 cout < A Girth= < A Girtho<< end1; cout < AArea="<< A Area0 < end1: B Set- Radius(10. 5f) cout < B Radius= < B Get- Radius o < end1 cout < "B Girth=<< B Girtho<< end1 cout < B Area= < B Area0 < end1:
22:14:22 方法二:面向对象的方法 #include using namespace std; const float pi=3.1415926; void main(){ Circle A,B; A.Set_Radius(6.23f); cout << "A.Radius= " << A.Get_Radius() << endl; cout << "A.Girth= " << A.Girth() << endl; cout << "A.Area= " << A.Area() << endl; B.Set_Radius(10.5f); cout << "B.Radius= " << B.Get_Radius() << endl; cout << "B.Girth= " << B.Girth() << endl; cout << "B.Area= " << B.Area() << endl; }
22:14:22 class Circle( float radius public: void Set- Radius(float r) radius=r float Get-Radiuso return radius float Girtho return 2*pi*radius float Areao return pisradius*radius; y 实际的程序中,类必须在使用之前定义
22:14:22 class Circle{ float radius; public: void Set_Radius(float r){radius=r;} float Get_Radius(){return radius;} float Girth(){return 2*pi*radius;} float Area(){return pi*radius*radius;} }; 实际的程序中,类必须在使用之前定义
22:14:22 小结 C++程序的结构 C艹+从C演化而来,完全兼容C 语法的许多方面都与C语言的语法一致 例如:main0函数的作用与C中一样 ++的含义 C++的程序基本由函数和类构成 C艹-的程序一般由多个文件组成:这些文件由工程文件 (dsp)进行组织与管理,若有多个工程文件(dsw),则由 工作区间文件管理
22:14:22 小结 .C++程序的结构 .C++从C演化而来,完全兼容C: .语法的许多方面都与C语言的语法一致 例如:main()函数的作用与C中一样 .++ 的含义 .C++的程序基本由函数和类构成 .C++的程序一般由多个文件组成:这些文件由工程文件 (.dsp)进行组织与管理,若有多个工程文件(.dsw),则由 工作区间文件管理
22:14:22 §3面向对象程序设计技术的基本特性 °抽象性: Abstraction 封装性( capsulation)与信息隐藏( Information Hiding) 继承性: Inheritance 多态性: Polymorphism
22:14:22 §3面向对象程序设计技术的基本特性 •抽象性:Abstraction •封装性(Encapsulation)与信息隐藏(Information Hiding) •继承性:Inheritance •多态性:Polymorphism
22:14:22 抽象性 把要解决的问题表示进计算机中的过程称为是抽象的过程 抽象是对现实世界的一种简化 如何抽象:去掉无关的因素,保留至关重要的因素 程序设计语言都提供抽象的能力 面向过程的程序设计语言要求程序员按计算机解题的步骤 去思考,而不是按问题本身的特征去思考,程序员必须在解 空间(机器模型)和问题空间(实际要解决的问题的模型)之 间建立联系并做转换,使得软件难以编写且维护费用昂贵
22:14:22 1.抽象性 – 把要解决的问题表示进计算机中的过程称为是抽象的过程 – 抽象是对现实世界的一种简化 – 如何抽象:去掉无关的因素,保留至关重要的因素 – 程序设计语言都提供抽象的能力 – 面向过程的程序设计语言要求程序员按计算机解题的步骤 去思考,而不是按问题本身的特征去思考,程序员必须在解 空间(机器模型)和问题空间(实际要解决的问题的模型)之 间建立联系并做转换,使得软件难以编写且维护费用昂贵