第3章 类与对象-【千锋教育】C++语言程序设计
2023-03-21
|
55页
|
113人阅读
|
0人下载
教辅
内容正文:
第3章类与对像
类的定义
友元
对象
静态成员
·类的定义与文件
·对象成员
·构造函数
·常类型成员
·析构函数
。
string类
学习目标
LEARNING OBJECTIVES
理解类与对象
理解友元函数与友元类
掌握构造函数与析构函数
掌握静态成员、对象成员、常
类型城员
初心至善匠心售人
目录
cATALOUGUE
01│类的定义O4│构造函数
02│对象05│析构函数
03│类的定义与文件
初心至善匠心育。
泛
目录
CATALOUGUE
01
友元
04
常类型成员
02
静态成员
05
string类
08
03
对象成员
06
初心至善匠心自人
3.1类的定义
·类是面向对象程序设计的核心,是进行封装和数据隐藏的工具。具体到代码上,
类是逻辑上有关的函数及其数据的集合,它主要不是用于执行,而是提供所需要
的资源。在使用一个类之前必须先定义类,定义一个类包含两个步骤:一是说明
类体中的成员;二是实现类体中的函数。
·类将数据表示和操作数据的函数组合在一起,下面来看一个用于描述平面上一点
的类。
·首先,考虑如何表示平面上一个点,可以用直角坐标系中的x轴和y轴上的两个数
值分别表示平面上一个点的横坐标与纵坐标,如果想要在程序开始时指定这个点
的坐标,可以通过定义一个函数来实现这种操作,而类就是将数据和操作封装在
一起,如图所示。
起封Poim
WFnt线
public
vod isitint a.intbh:
W政员乙数血0
int Ge tX
收典区数G0
int Getp
载=区数Gn0
privaw:
int I y
川款语数红y
初心至善匠心套人
3.1类的定义
·在上图中,xo与yo就表示直角坐标系中的x轴和y轴上的两个数值,函数iit0表示
初始化一个点的坐标的操作,函数GetX0表示获取这个点的横坐标,函数GetY0
表示获取这个点的纵坐标,通常将对类中数据操作的函数称为接口。因此,说明
类体中的成员就是要说明它包含哪些成员,每个成员是什么类型。
·从上面的示例中可以归纳出说明类体中成员的语法,其语法格式如下:
14标移苑名
publlct
公有到数折和函数:
protnct得d:
向护数提和函数:
private:
化行数数积和函数:
·其中,class是关键字,class之后是要定义的类名。类中的数据和函数都是类
的成员,分别称为数据成员和成员函数。数据成员是用来描述类状态等属性,
由于数据成员常用变量来定义,因此有时又将这样的数据成员称为成员变量。
成员函数用来对数据成员进行操作,又称方法。
初心至善匠心售人
3.1类的定义
·注意,类体中花括号“)”后面的分号“:”不能省略。
·类中关键字oublic、protected和privatei说明了类中成员与类外之间的关系,称为
访问权限,如表所示。
访问权限
publio
proteated
private
的表类
可见
可见
可见
前外杯
T见
不可见
不可见
防子美
了见
写见
不可见
·在说明类体中的成员时,
也可以不定义成员的访问权限,如果不定义,则默认为
private。.另外,在类体中,public、protected和private出现的顺序与次数都是
任意的。一般来说,比较好的格式是将公有成员都放在最前面,以突出用户接口,
私有成员放在后面。
·在C++中也可以定义由struct和union说明的类,只是很少使用,其也可以定义成
员的访问权限,当成员的访问权限不定义时,默认是public的。
初心至善匠心套人
3.1类的定义
·说明类体中的成员只是对其中的成员函数进行了函数声明,因此还必须在程序中
定义这些成员函数的实现,具体示例如下:
返回类型类名:成易函数名(形式参数到表)
的数体
·其中,“:”称为作用域运算符,“类名:“表示其后的成员函数是在类体中被声
明过的。在成员函数体内可以对类中的任何成员直接使用,不论是公有的还是私
有的、保护的,也可以调用系统提供的库函数,以及其他已定义的一些普通函数。
初心至善匠心售人
3.1类的定义
·例如,定义一个用于描述平面上一点的类,
具体示例如下:
e1。aPe4nE
public:
void init (int a.Int by;
int GetxryF
int GetYl)
Facorn VI
Erivute:
void Pairt:init(int a.int b)
1nl4rm4 nt Point:catx)/内联数
T海tur巾柱
·在上例中,简单的成员函数经常定义成内联函数,定义的方法有两种:一种是在
说明类体时,直接在类体内部定义函数体,系统将自动把这个函数当成内联函数:
另一种是在类体外通过inline关键字定义。
初心至善匠心自人
3.2
3.2.1
对象的创建
由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。