欢迎来到天天文库
浏览记录
ID:58863387
大小:141.50 KB
页数:77页
时间:2020-09-30
《《皮德常C程序设计教程》ppt课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第8章类的基础部分皮德常南京航空航天大学计算机科学与技术学院18.1.1过程化程序设计的缺陷出现大量的全局变量;程序复杂:程序员难以理解成百上千的函数;程序难以进行修改和扩充。28.1.2面向对象程序设计的基本思想OOP以对象为中心,把数据和对数据的操作封装在一起过程化设计是以过程为中心(函数)面向对象设计是以对象为中心Example:38.2类的基本概念类是一种用户自定义类型,声明形式:class类名{变量和函数的声明;……};例如:4成员变量floatwidth;floatlength;floatarea;成员函数
2、setData(){……}calcArea(){……}getWidth(){……}getLength(){……}getArea(){……}属性方法5classRectangle{floatwidth;floatlength:floatarea;voidsetData(float,float);voidcalcArea();floatgetWidth();floatgetLength();floatgetArea();};默认情况下类的成员是私有的,而结构体(struct)中的成员是公有的。68.2类的基本概念(续)为了
3、使类的成员能够在类外面被访问,其成员必须定义为public.Example:7classRectangle{private:floatwidth;floatlength:floatarea;public:voidsetData(float,float);voidcalcArea();floatgetWidth();floatgetLength();floatgetArea();};8classRectangle{public:voidsetData(float,float);voidcalcArea();floatge
4、tWidth();floatgetLength();floatgetArea();private:floatwidth;floatlength:floatarea;};9classRectangle{private:floatwidth;public:voidsetData(float,float);voidcalcArea();floatgetWidth();floatgetLength();floatgetArea();private:floatlength:floatarea;};10惯例:classclass-
5、name{private:declaration;//...moredeclarationsmayfollow...public:declaration;//...moredeclarationsmayfollow...};118.3定义成员函数类的成员函数的定义与普通函数的定义类似.成员函数在类之外定义的常规方式:<返回值类型><类名>::<函数名>(参数列表){…}12classRectangle{private:floatwidth;floatlength:floatarea;public:voidsetData
6、(float,float);voidcalcArea();floatgetWidth();floatgetLength();floatgetArea();};13voidRectangle::setData(floatw,floatl){width=w;length=l;}floatRectangle::getWidth(){returnwidth;}148.4定义对象定义对象称为类的实例化(模具-铸件)Example:Rectanglebox;box.setData(10.0,12.5);cout<7、idth();Rectangle*boxPtr;boxPtr=&box;boxPtr->setData(15,12);15//Program8-1classRectangle{private:floatwidth;floatlength;floatarea;public:voidsetData(float,float);voidcalcArea();floatgetWidth();floatgetLength();floatgetArea();};16//参数值传递给私有成员变量voidRectangle::setDa8、ta(floatw,floatl){width=w;length=l;}//计算面积voidRectangle::calcArea(){area=width*length;}17//返回私有成员变量widthfloatRectangle::getWidth(){returnwidth;}//返回私有成员变量lengthfloatR
7、idth();Rectangle*boxPtr;boxPtr=&box;boxPtr->setData(15,12);15//Program8-1classRectangle{private:floatwidth;floatlength;floatarea;public:voidsetData(float,float);voidcalcArea();floatgetWidth();floatgetLength();floatgetArea();};16//参数值传递给私有成员变量voidRectangle::setDa
8、ta(floatw,floatl){width=w;length=l;}//计算面积voidRectangle::calcArea(){area=width*length;}17//返回私有成员变量widthfloatRectangle::getWidth(){returnwidth;}//返回私有成员变量lengthfloatR
此文档下载收益归作者所有