C++程序设计基础杨长兴 第7章 类与对象

C++程序设计基础杨长兴 第7章 类与对象

ID:40238260

大小:815.50 KB

页数:92页

时间:2019-07-28

C++程序设计基础杨长兴 第7章 类与对象_第1页
C++程序设计基础杨长兴 第7章 类与对象_第2页
C++程序设计基础杨长兴 第7章 类与对象_第3页
C++程序设计基础杨长兴 第7章 类与对象_第4页
C++程序设计基础杨长兴 第7章 类与对象_第5页
资源描述:

《C++程序设计基础杨长兴 第7章 类与对象》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、C++程序设计基础主编杨长兴中国水利水电出版社第7章类与对象7.1从面向过程到面向对象7.2类与对象的定义7.3对象的初始化7.4对象数组与对象指针7.5静态成员7.6友元7.7常对象和常成员7.8程序实例7.1从面向过程到面向对象7.1.1面向对象程序设计的基本概念1.对象与方法对象是指现实世界中具体存在的实体。每一个对象都有自己的属性(包括自己特有的属性和同类对象的共同属性)。属性反映对象自身状态变化,表现为当前的属性值。 方法是用来描述对象动态特征的一个操作序列。消息是用来请求对象执行某一操作或回答某些信息的要求

2、。实际上是一个对象对另一个对象的调用。2.类类是具有相同属性和方法的一组对象的集合,它为属于该类的全部对象提供了统一的抽象描述。将相似的对象分组形成一个类,每个这样的对象被称为类的一个实例,一个类中的所有对象共享一个公共的定义,尽管它们对属性所赋予的值不同。3.封装封装(Encapsulation)是指把对象属性和操作结合在一起,构成独立的单元,它的内部信息对外界是隐蔽的,不允许外界直接存取对象的属性,只能通过有限的接口与对象发生联系。4.继承继承(Inheritance)反映的是类与类之间抽象级别的不同,根据继承与被

3、继承的关系,可分为基类和衍类,基类也称为父类,衍类也称为子类。子类将从父类那里获得所有的属性和方法,并且可以对这些获得的属性和方法加以改造,使之具有自己的特点。一个父类可以派生出若干子类,每个子类都可以通过继承和改造获得自己的一套属性和方法,由此,父类表现出的是共性和一般性,子类表现出的是个性和特性,父类的抽象级别高于子类。继承具有传递性。继承使得程序设计人员可以在已有的类的基础上定义和实现新类,所以有效地支持了软件构件的复用。5.多态性不同的对象收到相同的消息产生不同的动作,这种功能称为多态性(Polymorphis

4、m)。将多态的概念应用于面向对象程序设计,增强了程序对客观世界的模拟性,使得对象程序具有了更好的可读性,更易于理解,而且显著提高了软件的可复用性和可扩充性。6.重载在面向对象程序设计中,有两种重载(Overloading):一种是函数重载,另一种是运算符重载。函数重载是指同一作用域内若干个参数特征不同的函数可以使用同一个函数名。运算符重载是指同一运算符可以实施于不同类型的操作数上。7.1.2C++面向对象程序的结构一个面向对象的C++程序一般由类的声明和类的使用两部分组成。类的使用部分一般由主函数和有关子函数组成。以下

5、是一个典型的C++程序结构。#include usingnamespacestd; //类的定义部分classC {intx,y,z;//类C的数据成员声明… f(){…};//类C的成员函数声明… }; //类的使用部分voidmain() {Ca;//建立一个类C的对象a …a.f();//给对象a发消息,调用成员函数f() }在C++程序中,程序设计始终围绕“类”展开。通过声明类,构建了程序所要完成的功能,体现了面向对象程序设计的思想。下面看一个具体的例子,直观地了解一下面向对象程序设计方法与

6、结构化程序设计方法的区别。【例7.1】类的应用示例。//*****ex7_1.cpp*****#includeusingnamespacestd;classnumber//定义一个number类{public:voidset(intm,intn)//定义设置数据成员值的函数{a=m;b=n;}voidprint()//定义求和并输出的函数{inti,sum=0;for(i=a;i<=b;i++)sum=sum+i;cout<<"Sum="<

7、义私有数据成员};voidmain(){numberob;//建立一个类number的对象obob.set(10,50);//调用set函数设置数据成员a和b值,分别为10和50ob.print();//调用print函数求和并输出}7.2类的定义7.2.1类的定义在C++中,一个类指定一个独立的对象集合,该对象集合由组成该类的对象以及这些对象所允许的操作组成。1.类的定义形式 类定义的一般形式如下:class类名{public:数据成员或成员函数的定义private:数据成员或成员函数的定义protected:数据成

8、员或成员函数的定义};2.类成员函数的定义 对类的成员函数的定义通常有两种形式,一种是在类的定义中直接定义函数,一种是在类外定义。前面的例6.1就是在类内部实现成员函数,下面再看一个例子。【例7.2】已知f(n)=1×2+2×3+3×4+…+n×(n+1),求y=f(22)/f(10)的值。//*****ex7_2.cpp****

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。