欢迎来到天天文库
浏览记录
ID:37513596
大小:1.34 MB
页数:203页
时间:2019-05-12
《面向对象程序设计(C++语言)二ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、李爱华程磊编著清华大学出版社同名教材配套电子教案2010年2月面向对象程序设计(C++语言)2第二部分面向对象的程序设计第3章 类和对象(一)第4章 类和对象(二)第5章 继承和派生第6章 虚函数与多态性第7章 运算符重载第8章 模板第9章 标准模板库STL第10章C++语言的输入和输出2第3章 类和对象(一)本章要点:类的定义与类的成员对象的定义与使用类的构造函数重载构造函数析构函数UML及类图33.1.类的构成3.1.1从结构到类C++语言中的结构(structure或者struct)类似于一
2、种简单的类。结构是一种自定义的数据类型,它们把相关联的数据元素组成一个单独的统一体。例如下面声明了一个日期结构:structdate{intyear;intmonth;intday;};4【例3.1】 有关日期结构的例子。/*03_01.cpp*/#includeusingnamespacestd;structdate{intyear;intmonth;intday;};intmain(){datedate1;date1.year=2009;date1.month=5;date1
3、.day=26;cout<4、的访问,提供了模块间的独立性。73.1.2类的构成类主要由3部分组成,分别是:类名数据成员成员函数按访问权限划分,数据成员和成员函数又可分为3种,分别是:公有数据成员与成员函数保护数据成员与成员函数私有数据成员与成员函数。8类声明的一般格式如下:class类名{[private:]私有数据成员;私有成员函数;protected:保护数据成员;保护成员函数;public:公有数据成员;公有成员函数;};9说明:(1)class是类定义的关键字。(2)类名由用户自定义,但必须是C++的有效标识符,且一般5、首字母要大写。(3)花括号中是类体,最后一个分号“;”结束。(4)private、public、protected这3个关键字是访问权限控制符,限制了类成员的访问权限。例如,下例中定义了一个描述日期的类。classDate{private://private可以默认intyear;//定义数据成员intmonth;intday;public:voidSetDate(inty,intm,intd);//成员函数声明voidShowDate();//成员函数声明};103.1.3类成员的访问属性类成员有6、3种访问属性:私有类型(private)公有类型(public)保护类型(protected)并分别由private、public、protected这3个关键字后跟冒号“:”来指定。11(1)private部分:这部分的数据成员和成员函数称为类的私有成员。私有成员只能由本类的成员函数访问,而类外部根本就无法访问,实现了访问权限的有效控制。(2)public部分:这部分的数据成员和成员函数称为类的公有成员。公有成员可以由程序中的函数访问,即它对外是完全开放的。公有成员函数是对类的动态特性的描述,是类7、与外界的接口,来自类外部的访问需要通过这种接口来进行。12(3)protected部分:这部分的数据成员和成员函数称为类的保护成员。保护成员可以由本类的成员函数访问,也可以由本类的派生类的成员函数访问,而类外的任何访问都是非法的,即它是半隐蔽的,这个问题将在第5章详细介绍。13类的定义应注意以下几:(1)对一个具体的类来讲,类声明格式中的3个部分并非一定要全有,但至少要有其中的一个部分。(2)类声明中private、protected和public三个关键字可以按任意顺序出现任意次,甚至可以交叉出现8、。但是,如果把所有的私有成员,保护成员和公有成员归类放在一起程序将更加清晰。14(3)若私有部分处于类体中第一部分,关键字private可以省略。这样,如果一个类体中没有一个访问权限关键字,则其中的数据成员和成员函数都默认为私有的。(4)数据成员可以是任何数据类型,但是不能用自动,寄存器或外部进行说明。(5)不能在类声明中给数据成员赋初值。15例如:classDate{private://定义私有数据成员intyear=2008;//错误intmonth=10;//错
4、的访问,提供了模块间的独立性。73.1.2类的构成类主要由3部分组成,分别是:类名数据成员成员函数按访问权限划分,数据成员和成员函数又可分为3种,分别是:公有数据成员与成员函数保护数据成员与成员函数私有数据成员与成员函数。8类声明的一般格式如下:class类名{[private:]私有数据成员;私有成员函数;protected:保护数据成员;保护成员函数;public:公有数据成员;公有成员函数;};9说明:(1)class是类定义的关键字。(2)类名由用户自定义,但必须是C++的有效标识符,且一般
5、首字母要大写。(3)花括号中是类体,最后一个分号“;”结束。(4)private、public、protected这3个关键字是访问权限控制符,限制了类成员的访问权限。例如,下例中定义了一个描述日期的类。classDate{private://private可以默认intyear;//定义数据成员intmonth;intday;public:voidSetDate(inty,intm,intd);//成员函数声明voidShowDate();//成员函数声明};103.1.3类成员的访问属性类成员有
6、3种访问属性:私有类型(private)公有类型(public)保护类型(protected)并分别由private、public、protected这3个关键字后跟冒号“:”来指定。11(1)private部分:这部分的数据成员和成员函数称为类的私有成员。私有成员只能由本类的成员函数访问,而类外部根本就无法访问,实现了访问权限的有效控制。(2)public部分:这部分的数据成员和成员函数称为类的公有成员。公有成员可以由程序中的函数访问,即它对外是完全开放的。公有成员函数是对类的动态特性的描述,是类
7、与外界的接口,来自类外部的访问需要通过这种接口来进行。12(3)protected部分:这部分的数据成员和成员函数称为类的保护成员。保护成员可以由本类的成员函数访问,也可以由本类的派生类的成员函数访问,而类外的任何访问都是非法的,即它是半隐蔽的,这个问题将在第5章详细介绍。13类的定义应注意以下几:(1)对一个具体的类来讲,类声明格式中的3个部分并非一定要全有,但至少要有其中的一个部分。(2)类声明中private、protected和public三个关键字可以按任意顺序出现任意次,甚至可以交叉出现
8、。但是,如果把所有的私有成员,保护成员和公有成员归类放在一起程序将更加清晰。14(3)若私有部分处于类体中第一部分,关键字private可以省略。这样,如果一个类体中没有一个访问权限关键字,则其中的数据成员和成员函数都默认为私有的。(4)数据成员可以是任何数据类型,但是不能用自动,寄存器或外部进行说明。(5)不能在类声明中给数据成员赋初值。15例如:classDate{private://定义私有数据成员intyear=2008;//错误intmonth=10;//错
此文档下载收益归作者所有