面向对象程序设计.ppt

面向对象程序设计.ppt

ID:48544109

大小:283.50 KB

页数:45页

时间:2020-01-18

面向对象程序设计.ppt_第1页
面向对象程序设计.ppt_第2页
面向对象程序设计.ppt_第3页
面向对象程序设计.ppt_第4页
面向对象程序设计.ppt_第5页
资源描述:

《面向对象程序设计.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、面向对象程序设计第十章结构§10.1结构§10.2结构与指针§10.3结构与数组§10.4传递结构参数§10.5结构函数§10.6链表结构§10.7联合(Union)小结7/18/20212前面已介绍了整型、实型、字符型等基本数据结构。介绍了处理相同数据类型数据集合的数组。对于处理具有某种联系,可以由不同类型的数据项组成的复杂数据类型,C++称为结构。本章内容包括结构类型及变量的定义,访问结构的成员方法,结构作为参数传递的函数调用及返回结构的函数等。7/18/2021310.1结构一、结构及结构变

2、量的定义结构是用户自定义的新数据类型。声明结构类型时,首先指定关键字struct和结构名,然后用一对花括号将若干个结构成员数据类型说明括起来。例如,要表示一个单位职工的收入情况,需要记录每个职工的姓名、年龄、工资等信息。当用结构类型表示时,结构中应包括一个字符串分量(表示姓名),一个整型分量(表示年龄),一个浮点型分量(表示工资)。按C++规定,可做如下定义:structperson{charname[10];intage;floatwage;};7/18/20214其中,struct是关键字;p

3、erson是自定义的结构类型的名称;花括号中是结构成员的说明。person结构类型被定义后,从使用角度看,就等效于int,char,float等基本数据类型。类型定义通常位于main()函数之前,使该类型在定义点后面的程序中可见。要使用结构变量也必须先定义后使用,例如:personworker;声明一个结构并不分配内存,内存分配发生在定义这个新数据类型的变量中。变量一旦定义,编译器将为woker变量分配包含三种不同数据类型成员的存储空间name…………age…………wage…………7/18/202

4、15二、结构成员的访问一旦通过定义相应结构变量,分配了空间,就可以使用点操作符“.”(或称结构成员操作符)来访问结构中的成员。左操作数为结构类型变量,右操作数为结构中的成员。一般形式:结构变量名.结构成员名例如:worker.age=25;cin>>worker.age;cin>>worker.wage;下面是一个定义结构类型和变量的简单例子:7/18/20216#includestructweather{floattemp;intwind;};voidmain(){wea

5、thertoday;today.temp=25.5;today.wind=4;cout<<“Temp=”<structperson{charname[20];longid;floatsalary;};perso

6、npr1{“Liming”,1082422,5300.0};7/18/20218voidmain(){personpr2;pr2=pr1;//assigningpr1topr2cout<

7、18/2021910.2结构与指针结构变量的成员可以通过点操作符进行访问,也可以通过指针进行访问。若定义一个结构指针,并把一个结构变量的地址赋给它,则通过该指针可对结构变量的成员进行访问。结构指针定义格式如下:person*p;//定义指向结构类型的指针personpr1;//定义结构类型变量若p=&pr1;则p是指向结构变量pr1的结构指针,为访问成员,可写成:(*p).name等效于p->name;(*p).id等效于p->id;(*p).salary等效于p->salary.7/18/202

8、110在使用指针访问成员时,通常使用箭头操作符“->”。例如:下面程序中,定义了结构指针,通过结构指针访问结构成员。#include#includestrutperson{charname[20];longid;floatsalary;};7/18/202111voidmain(){personpr1;person*p;p=&pr1;strcpy(p->name,“Wangming”);p->id=12345678;p->salary=4

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

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

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