C++从结构到类详解

C++从结构到类详解

ID:40800734

大小:423.00 KB

页数:107页

时间:2019-08-07

C++从结构到类详解_第1页
C++从结构到类详解_第2页
C++从结构到类详解_第3页
C++从结构到类详解_第4页
C++从结构到类详解_第5页
资源描述:

《C++从结构到类详解》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、第2章从结构到类结构类型简称为结构(struct),结构不仅是构造类型的重要成员,也是类的前身。C++中的结构与C中的结构已经发生了质的变化。本章首先使用结构编制一个C++的面向过程的典型程序,并通过实例简要说明结构如何向类变化,从而引入对象和类的知识。然后介绍两个类,通过使用这两个类,进一步熟悉类和对象,为学习面向对象编程打下基础。主要内容2.1结构的演化2.2从结构演变一个简单的类2.3C++面向对象程序设计特点2.4数据对象和数据类型2.5熟悉并使用类和对象2.6string对象数组与范型算法2.7结构化程序设计典型例题2.8活捉臭虫保平安

2、2.1结构的演化结构由若干元素构成,C语言中称这些结构元素为结构成员,C++中称为数据成员。不过,能够做数据成员的不只是基本数据类型的变量,还可以是构造类型(数组、指针甚至是其他类型的结构)变量。在C++中,定义结构变量时,可以省略关键字struct,而且C++的结构中可以有函数。其实,类确实是从结构演变而来,开始称为“带类的C”。这场革命就是从让结构含有函数开始的。本节从结构引入类,然后练习如何使用系统提供的类,以便为设计类打下基础。2.1.1结构发生质的演变1.函数与数据共存C++允许结构中可以定义函数,这些函数称为成员函数。如果将原来的结构

3、成员称为数据成员的话,可以使用如下的形式描述:struct结构名{数据成员成员函数};可以像结构变量或指针使用结构成员那样,使用成员函数:结构变量.成员函数指向结构变量指针的名字->成员函数假设为结构Point设计一个Setxy函数如下:voidSetxy(doublea,doubleb){x=a;y=b;}如果把域x和y称为结构的数据成员,则可以使用参数表中的a和b赋给结构变量的数据成员。假设有对象a,则语句:a.Setxy(12.5,14.5);使结构变量a的a.x=125,a.y=14.5。【例2.1】结构中使用成员函数的实例。#incl

4、udeusingnamespacestd;structPoint{public:voidSetxy(doublea,doubleb)//成员函数,用来//重新设置数据成员{x=a;y=b;}voidDisplay()//成员函数,按指定格式输出//数据成员的值{cout<

5、成员p=&a;//使用变量a初始化指针变量p->Display();//使用指向变量a的指针调用成员函数cout<x<<"t"<y<

6、usingnamespacestd;structPoint{private:doublex,y;//数据成员public:voidSetxy(doublea,doubleb)//成员函数//用来重新设置数据成员{x=a;y=b;}voidDisplay()//成员函数,按指定格式//输出数据成员的值{cout<

7、的数据成员,必须通过公有的成员函数才能使用,这就称为数据的封装性。显然,没有使用private定义的成员函数,默认为public(也可以直接使用public)。这时,如果还使用【例2.1】的主程序,则其最后一条语句就出现编译错误。也就是说,私有的数据成员,必须通过公有的成员函数才能使用,这就称为数据的封装性。其实,这就变成了具有类的性质的结构。只是类使用关键字class定义,它默认的是private。确实,类当初就是从这种结构演变的。2.1.2使用构造函数初始化结构的对象因为【例2.2】的程序使结构具有封装性,所以不能使用初始化列表初始化结构对象

8、。为此,这里为结构Point设计两个专门用于初始化的函数。这两个函数具有相同的名字Point,其原型如下:Point();Point(d

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

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

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