- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
C程序的设计第8章节类与对象
第8章 类与对象
教学内容
8.1 类和对象
8.2 构造函数和析构函数
8.3 对象数组和对象指针
8.4对象的动态建立和释放
Evaluation only.
Created with Aspose.Slides for .NET 3.5 Client Profile .
Copyright 2004-2011 Aspose Pty Ltd.
8.1 类和对象
类是C++中十分重要的概念,它是实现面向对象程序设计的基础。类是所有面向对象语言的共同特征,所有面向对象的语言都提供了这种类型。一个有一定规模的C++程序是由许多类所构成的。
对象 = 算法 + 数据结构
程序 = (对象+对象+对象+…)+消息
或:程序 = 对象s + 消息
“对象s”表示多个对象。消息的作用就是对对象的控制。程序设计的关键是设计好每一个对象,以及确定向这些对象发出的命令,使各对象完成相应操作。
Evaluation only.
Created with Aspose.Slides for .NET 3.5 Client Profile .
Copyright 2004-2011 Aspose Pty Ltd.
8.1类和对象—类的声明和对象的定义
1.类和对象的关系
每一个实体都是对象,有一些对象具有相同的结构和特性,每个对象都属于一个特定的类型。在C++中,对象的类型称为类,类代表了某一批对象的共性和特征。前面已说明,类是对象的抽象,而对象是类的具体实例。
如同结构体类型和结构体变量的关系一样,人们先声明一个结构体类型,然后用它去定义结构体变量,同一个结构体类型可以定义出多个不同的结构体变量。在C++中也是先声明一个类类型,然后用它去定义若干个同类型的对象,对象就是类类型的一个变量。可以说类是对象的模板,是用来定义对象的一种抽象类型。类是抽象的,不占用内存,而对象是具体的,占用存储空间。在一开始时就弄清对象和类的关系是十分重要的。
Evaluation only.
Created with Aspose.Slides for .NET 3.5 Client Profile .
Copyright 2004-2011 Aspose Pty Ltd.
8.1类和对象—类的声明和对象的定义
2.声明类类型
类是用户自己指定的类型。如果程序中要用到类类型,必须自己根据需要进行声明,或者使用别人已设计好的类。C++标准本身并不提供现成的类的名称、结构和内容。在C++中声明一个类类型和声明一个结构体类型是相似的。
class 类名
{
public: //成员访问限定符
公有的数据成员和成员函数;
private:
私有的数据成员和成员函数;
protected:
受保护的数据成员和成员函数;
};
(1)用public声明的成员在类的内、外都可以使用。
(2)用private声明的成员只能在类的内部使用。
(3)用protected声明的成员可以在类的内部使用,也可以被派生类的成员函数(后代)使用。
Evaluation only.
Created with Aspose.Slides for .NET 3.5 Client Profile .
Copyright 2004-2011 Aspose Pty Ltd.
struct Student //声明了一个名为Student的结构体类型
{
int num;
char name[20];
char sex;
};
Student stud1, stud2; //定义了两个结构体变量stud1和stud2
class Student //以class开头
{
int num;
char name[20];
char sex ; //以上3行是数据成员
void display() //这是成员函数
{
cout num: num endl ;
cout name: name endl;
cout sex: sex endl; //以上4行是函数中的操作语句
}
};
Student stud1, stud2; //定义了两个类对象stud1和stud2
可以将上面类的声明改为:
class Student //声明类类型
{
private: //声明以下部分为私有的
int num;
char name[20];
char sex;
public: //声明以下部分为公有的
void display( )
{
您可能关注的文档
- 广东省执信中学2012-2013届高二下学期期中生物文试卷.doc
- 广东省执信中学2012-2013届高二下学期期中物理文试卷.doc
- 广东省执信中学2012-2013届高二下学期期中语文试卷.doc
- 广东省执信中学2012-2013届高二下学期期中数学理试卷.doc
- 广东省执信中学2012-2013届高二下学期期中数学文试卷.doc
- 广东省执信中学2012-2013届高二下学期期末化学试卷.doc
- 广东省执信中学2012-2013届高二下学期期末物理试卷.doc
- 广东省执信中学2012-2013届高二下学期期末数学文试卷.doc
- 广东省执信中学2012-2013届高二下学期期末数学理试卷.doc
- 广东省执信中学2012-2013届高二下学期期末考试数学理试卷.doc
- 2025年中国乙氧苯柳胺软膏市场调查研究报告.docx
- 2025年及未来5年电信设备项目市场数据调查、监测研究报告.docx
- 2025年中国产宝口服液市场调查研究报告.docx
- 2025年及未来5年远红外线热敷按摩仪之瑞颈灵项目市场数据分析可行性研究报告.docx
- 2025年中国2—氨基—4,6—二氯嘧啶市场调查研究报告.docx
- 2025年及未来5年双层风琴帘项目市场数据调查、监测研究报告.docx
- 2025年及未来5年多功能短路定位分析仪项目市场数据调查、监测研究报告.docx
- 2025年中国换芯型烟嘴市场调查研究报告.docx
- 2025年及未来5年印章防伪项目市场数据调查、监测研究报告.docx
- 2025年中国超小型冷冻修边机市场调查研究报告.docx
原创力文档


文档评论(0)