[工学]c++ 第3讲new

[工学]c++ 第3讲new

ID:39962122

大小:1.04 MB

页数:100页

时间:2019-07-16

[工学]c++ 第3讲new_第1页
[工学]c++ 第3讲new_第2页
[工学]c++ 第3讲new_第3页
[工学]c++ 第3讲new_第4页
[工学]c++ 第3讲new_第5页
资源描述:

《[工学]c++ 第3讲new》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第三章类1FTPftp://10.37.13.226用户名:lcp密码:无2类和对象在C++中,一个类就是一种数据类型。标准C++定义了一些内建的类,例如string。通过创建自己的类,程序员可以对C++语言进行扩展。通过类声明可以创建一个类,而且可将这个类当作数据类型来使用。3类和对象类声明:描述了封装在该类中的数据成员(datamember)和成员函数(functionmember)例如:其中:class是个关键字,Human称为类标签通过类声明创建了一个数据类型,类标签是该数据类型的标识符或名字。类声明中的花括号“}”后的分号“;”不可少。4类和对象对象定义:从面向对象

2、程序设计的角度来看,在C++中以一个类(如Human)作数据类型定义的变量就是对象。例如,如下语句定义了Human的一个对象maryLeakey定义对象时,关键字class是可有可无的,只要首先给出Human类的声明,就可通过以下两种方式定义Human类的对象:5类和对象定义对象数组:6C++的信息隐藏机制三个关键字:private:可用来隐藏类的数据成员和成员函数public:用来暴露类的数据成员和成员函数protected面向对象设计的灵魂就是使用private隐藏类实现,使用public暴露类的接口。7C++的信息隐藏机制定义一个Person类接口:包含两个公有成员函数

3、setAge和getAge。实现:一个unsigned类型的数据成员age。8C++的信息隐藏机制private成员和public成员可以在类声明中交叉出现。9C++的信息隐藏机制Person类的客户(指Person类的对象的使用者)可通过调用公有成员函数setAge和getAge来请求Person类提供服务Person类的客户不能访问属于类实现部分的私有数据成员age10成员选择符成员选择符.和指针操作符->,可对类的数据成员和成员函数进行访问。11成员选择符对象的使用者只能访问类的公有成员(数据成员或成员函数)。12类范围类的私有成员仅能由类的成员函数访问,即具有类范围性

4、质。类的公有成员拥有公有范围性质,可以在类之外进行访问。13类范围在C++中,用关键字class声明的类,其类成员在默认情况下作为私有成员处理,具有类范围性质。因此,如下两个声明是等价的14关键字class和struct的区别使用class关键字或struct关键字都可以创建类。如果使用class关键字,类成员在默认状态下是私有的;而使用struct关键字,类成员在默认状态下则是公有的。如下两种声明方式是等价的:15类成员函数的定义类成员函数的定义方法:在类声明之外进行定义在类声明之中进行定义(inline)16类成员函数的定义在类声明之外进行定义为避免重名,在定义成员函数时

5、使用了域解析符::17类成员函数的定义在类声明之中进行定义(inline)18类成员函数的定义通过在进行成员函数声明的时候使用inline关键字,可将原本定义在类声明之外的成员函数强制变成内联函数。19在程序中使用类关键步骤:类声明对象定义客户服务请求。20在程序中使用类通常将类声明放到.h中,这样在使用时通过#include将类声明包含进来。如可将Person类的声明放到person.h文件中通常将成员函数的定义放到.cpp中如可将Person类的定义放到person.cpp中一般不要将成员函数的定义放在.h文件中,因为头文件通过#include被多个不同的文件所包含的话可

6、能出现函数重复定义错21示例程序:堆栈类问题:创建一个支持int型的压入和弹出操作的堆栈类。公有成员:对stack对象进行初始化。检查stack为空,或已满。将整数压入到stack中。从stack里弹出整数。不移出任何元素,将stack的内容输出到标准输出。私有成员:一个用于打印错误信息的私有成员函数。三个私有数据成员(top、数据数组、dummy_val)222324效率和健壮性通过引用来传递和返回对象const类型参数的对象引用const成员函数对成员函数进行重载以便处理两种类型的字符串25通过引用来传递和返回对象对象可以采用传值方式或引用方式进行对象的传递和返回。一般来

7、说应该采用引用方式进行对象的传递和返回,而不要采用传值的方式来进行因为通过传值方式来传递和返回对象时会降低效率并将面临对象间的拷贝操作,从而使数据增大,浪费内存。从效率上看,传递一个指向对象的指针可收到与引用方式相同的效果,但引用方式的语法要简练得多。2627const类型参数的对象引用通常,如果一个对象通过引用方式传到函数f中,而函数f又不会通过修改对象的数据成员的值改变该对象的状态,那么,最好将f的参数标记为const,可以预防对参数的误写,同时有些编译器还可对这种情况进行一些优化。如下例:将函数s

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

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

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