欢迎来到天天文库
浏览记录
ID:36206413
大小:2.38 MB
页数:281页
时间:2019-05-07
《c++语言程序设计教程(清华第二版下)ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、主编沈显君杨进才张勇C++语言程序设计教程(下)第7章类与对象C++语言程序设计教程第7章类与对象制作人:沈显君杨进才第7章类与对象1.掌握类的定义,会根据需求设计类;2.会根据类创建各种对象;3.掌握对象的各种成员的使用方法;4.会设计构造函数与拷贝构造函数来初始化对象;理解其调用过程与顺序;5.理解浅拷贝与深拷贝的概念;6.掌握动态对象以及动态对象数组的建立与释放。7.理解类的静态成员的概念;8.理解友元函数与友元类的概念;9.掌握常对象与常成员的使用;10.了解对象在内存中的分布情况。学习目标C++语言程序设计教程第7章类与对象7.1类与对象在
2、面向过程的结构化程序设计中,程序模块是由函数构成,函数将对数据处理的语句放在函数体内,完成特定的功能,数据则通过函数参数传递进入函数体。在面向对象的程序设计中,程序模块是由类构成的。类是对逻辑上相关的函数与数据的封装,它是对问题的抽象描述。面向对象的程序设计方法就是运用面向对象的观点来对现实世界中的各种问题进行抽象,然后用计算机程序来描述并解决该问题,这种描述和处理是通过类与对象实现的。类与对象是C++程序设计中最重要的概念。C++语言程序设计教程第7章类与对象【例7-1】模拟时钟分析:不管什么样的时钟,也不管各种时钟是如何运行的,它都具有时、分、秒
3、3个属性。除了运行、显示时间的基本功能外,还有设置(调整)时间、设置闹钟等功能。将时钟的这些属性与功能抽象出来,分别给出面向过程的程序与面向对象的程序来实现对时钟的模拟。思考:二者有何不同?7.1类与对象C++语言程序设计教程第7章类与对象7.1.2类的定义class类名{public:公有数据成员或公有函数成员的定义;protected:保护数据成员或保护函数成员的定义;private:私有数据成员或私有函数成员的定义;};说明:关键字class表明定义的是一个类;类名是类的名称,应是一个合法的标识符;public、protected、privat
4、e为存取控制属性(访问权限),用来控制对类的成员的存取。如果前面没有标明访问权限,默认访问权限为private。类的成员有数据成员与函数成员两类,类的数据成员和函数成员统称为类的成员,类的数据成员一般用来描述该类对象的属性,称为属性;函数成员是描述类行为,称作方法。函数成员由函数构成,这些作为类成员的函数因此也叫成员函数。简单讲,类是一个包含函数的结构体。因此,类的定义与结构类型的定义相似,其格式如下:C++语言程序设计教程第7章类与对象******************************p7_1_b.cpp**面向对象的时钟程序******
5、*************************/#includeusingnamespacestd;classClock{private:intH,M,S;public:voidSetTime(inth,intm,ints){H=(h>=0&&h<24)?h:0;M=(m>=0&&m<60)?m:0;S=(s>=0&&s<60)?s:0;}voidShowTime(){cout<6、MyClock.SetTime(8,30,30);MyClock.ShowTime();}/******************************p7_1_a.cpp**面向过程的时钟程序*******************************/#includeusingnamespacestd;structClock{intH,M,S;};ClockMyClock;voidSetTime(intH,intM,intS){MyClock.H=(H>=0&&H<24)?H:0;MyClock.M=(M>=0&&M<60)7、?M:0;MyClock.S=(S>=0&&S<60)?S:0;}voidShowTime(){cout<8、释:通过对上述两种方案的程序进行简单的观察,可以发现它们存在下面几点不同:在程序A中,时钟数据用一个结构型的
6、MyClock.SetTime(8,30,30);MyClock.ShowTime();}/******************************p7_1_a.cpp**面向过程的时钟程序*******************************/#includeusingnamespacestd;structClock{intH,M,S;};ClockMyClock;voidSetTime(intH,intM,intS){MyClock.H=(H>=0&&H<24)?H:0;MyClock.M=(M>=0&&M<60)
7、?M:0;MyClock.S=(S>=0&&S<60)?S:0;}voidShowTime(){cout<8、释:通过对上述两种方案的程序进行简单的观察,可以发现它们存在下面几点不同:在程序A中,时钟数据用一个结构型的
8、释:通过对上述两种方案的程序进行简单的观察,可以发现它们存在下面几点不同:在程序A中,时钟数据用一个结构型的
此文档下载收益归作者所有