C++程序设计与应用 教学课件 作者 周仲宁courseware7-2.ppt

C++程序设计与应用 教学课件 作者 周仲宁courseware7-2.ppt

ID:50318732

大小:297.50 KB

页数:62页

时间:2020-03-08

C++程序设计与应用 教学课件 作者 周仲宁courseware7-2.ppt_第1页
C++程序设计与应用 教学课件 作者 周仲宁courseware7-2.ppt_第2页
C++程序设计与应用 教学课件 作者 周仲宁courseware7-2.ppt_第3页
C++程序设计与应用 教学课件 作者 周仲宁courseware7-2.ppt_第4页
C++程序设计与应用 教学课件 作者 周仲宁courseware7-2.ppt_第5页
资源描述:

《C++程序设计与应用 教学课件 作者 周仲宁courseware7-2.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第七章类和对象的创建本章要点:类的声明、类的成员函数的定义、对象的定义和使用、类的成员的访问控制。类的构造函数和析构函数的作用、定义和使用。对象数组和对象指针的定义和使用,对象的动态分配内存。对象作为函数参数的使用方法。友元的作用及使用友元的有关问题。本章内容7.1类和对象7.2构造函数和析构函数7.3对象数组与对象指针7.4对象作为函数的参数7.5静态成员7.6友元7.1类和对象7.1.1类的声明及成员的访问控制7.1.2类的成员函数7.1.3对象的定义和引用类声明及成员的访问控制类声明的形式类的声明即是

2、类的定义,其语法与结构的声明类似,一般形式如下:class类名{private:私有数据成员和成员函数protected:保护数据成员和成员函数public:公有数据成员和成员函数};class是声明类的关键字,类名是给声明的类起的名字花括号给出了类的声明范围分号说明类的声明到此结束,不能省略类是面向对象程序设计的基础和核心,也是实现数据抽象的工具。类实质上是用户自定义的一种特殊的数据类型,特殊之处就在于,和一般的数据类型相比,它不仅包含相关的数据,还包含能对这些数据进行处理的函数,同时,这些数据具有隐蔽性

3、和封装性。类中包含的数据和函数统称为成员,数据称为数据成员,函数称为成员函数,它们都有自己的访问权限。类声明及成员的访问控制类声明的内容类声明的内容包括数据和函数两部分,是对类的数据和函数以及它们的访问权限的说明。数据声明数据成员的数据类型,名字,以及访问权限。函数定义成员函数及对它们的访问权限。可以在类内定义成员函数,也可以在类外定义成员函数。在类外定义成员函数时先在类内说明该成员函数的原型,再是在类外进行定义,也就是说,类内声明,类外定义。成员函数的定义方法将在后面介绍。类声明及成员的访问控制类成员的访

4、问控制类的成员的访问控制是通过类的访问权限来实现的。访问权限分为三种:private声明该成员为私有成员。私有成员只能被本类的成员函数访问,类外的任何成员对它的访问都是不允许的。私有成员是类中被隐蔽的部分,通常是描述该类对象属性的数据成员,这些数据成员用户无法访问,只有通过成员函数或某些特殊说明的函数才可访问,它体现了对象的封装性。当声明中未指定访问控制时,系统默认该成员为私有成员。protected声明该成员为保护成员,一般情况下与私有成员的含义相同,它们的区别表现在类的继承中对新类的影响不同。保护成员的

5、具体内容将在有关的章节中介绍。public声明该成员为公有成员。公有成员可以被程序中的任何函数访问,它提供了外部程序与类的接口功能。公有成员通常是成员函数。类声明的例例7.1类声明的例。classmyclass//声明类名为myclass{private://声明私有成员inti;//声明i的数据类型为整型public://声明公有成员voidseti(inta);//声明成员函数seti()的原型intgeti()//定义成员函数geti(){returni;}};voidmyclass::seti(in

6、ta)//定义成员函数seti(){i=a;}不能写为inti=10;先声明原型,在类外定义在类定义体内直接定义函数在类定义体外定义成员函数时用作用域算符指明是myclass类的seti()成员函数类声明及成员的访问控制类声明时的注意事项声明的类是一个数据结构而不是函数,因而最后的分号不能丢掉。说明类成员访问权限的关键字private、protected和public可以按任意顺序出现任意多次,但一个成员只能有一种访问权限。为使程序更加清晰,应将私有成员和公有成员归类放在一起。数据成员可以是任何数据类型,但

7、不能用自动(auto)、寄存器(register)、外部(extern)来说明。成员函数可以在类内定义,也可在类内说明原型而在类外定义。不能在类内给数据成员赋初值,只有在类的对象定义以后才能给数据成员赋初值。类声明错误的例例7.2错误的类的声明的例classmyclass{private:inti=10;//错误public:voidseti(inta);intgeti();};类的成员函数(1)成员函数又称为方法,成员函数是C++中的术语,方法是面向对象方法中的术语,它们是同一个实体。成员函数的定义在类声

8、明中只给出成员函数的原型声明,而成员函数的定义则在类的外部完成。其一般形式是:返回类型类名::函数名(参数表){//函数体}用这种方法定义成员函数应注意以下事项:在所定义的函数名前必须缀上类名,类名与函数名之间必须加上作用域运算符∷。在类内声明成员函数的函数原型时,参数表中的参数可以只说明参数的数据类型而省略参数名。定义成员函数时,其返回值类型必须要与函数原型说明中的返回类型一致。例7.2在类外定义成员函数的例c

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

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

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