- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
4.1类和对象 类和对象的基本概念 构造函数和析构函数 对象数组和对象指针 向函数传递对象 4.1类和对象基本概念 从结构到类 成员函数的定义 对象的定义和引用 类的作用域 4.1.1从结构到类 类的基本概念 类是C++最重要的特征,一个类就是一个用户自定 义的类型,我们设计一个新的类型,是为了给某个在 内部数据类型中没有提供直接对应物的概念提供一个 定义。 #includeiostream.h class point { private: int x; int y; point(int i,int j) { x=i; y=j; } void show() { cout“The point is:”“x“,”y“)”endl; } }: void mian() { point a(10,20); a.show(); } 软件方法的发展必然 较早的软件开发,用结构化程序设计方法。程序的定 义是: 程序=(算法)+(数据结构) 随着时间的流逝,软件工程师越来越注重于系统整体 关系的表示和数据模型技术(把数据结构与算法看作一个 独立功能模块)。程序定律被重新认识: 程序:(算法十数据结构) 即算法与数据结构是一个整体,算法总是离不开数据 结构,算法含有对数据结构的访问,算法只能适用于特 定的数据结构。因此设计一个算法适合于访问多个数据 结构是不明智的,而且数据结构由多个算法来对其进行 同种操作也是多余的。 软件方法的发展必然 这是面向对象程序设计的基础,在面向对象中,算法 与数据结构被捆绑成一个类,从这样的角度看问题,就 不用为如何实现通盘的程序功能而费尽心机了。现实世 界本身就是一个对象的世界,任何对象都具有一定的属 性与操作,也就总能用数据结构与算法两者合一地来描 述。这时候,程序定律被再次另眼相看: 对象=(算法+数据结构) 程序=(对象+对象+…) 4.1.2类的定义 类定义的一般形式如下: class Name { 细节 }; 类的定义由头和体两个部分组成。 类头由关键字class开头,然后是类名,其命名规则与一 般标识符的命名规则一致,有时可能有附加的命名规 则,例如美国微软公司的MFC类库中的所有类均是以大写 字母‘C’开头的。类体包括所有的细节,并放在一对花括 号中。类的定义也是一个语句,所以要有分号结尾,否 则,会产生难以理解的编译错误。 类体定义类的成员,它支持两种类型的成员: 数据成员:它们指定了该类对象的内部表示。(通常也称作属性) 成员函数:它们指定该类的操作。(通常也称作方法) 4.1.3类中的数据成员 类的数据成员的声明方式和一般的变量声明相 同,例如,Date类可以有下列数据成员: class Date{ int year; int month; int day; string today; }; 成员函数的定义有两种方式 在类声明中只给出成员函数原型,在类外部进行定义 4.1.3类中的成员函数 4.1.5类中的成员访问 类中的数据成员和成员函数有三种不同的访问权限: 公有(public)成员 私有(private)成员 保护(protected)成员 公有成员:既可以被类内的其他成员访问,也能被类以外的内容(例如函数等)访问。 私有成员:只能被类内的其他成员访问,而不能被其他内容访问。 保护成员:可以由本类的成员访问,也可以由本类的派生类的成员函数访问。 通常,数据成员是私有的,成员函数通常有一部分是公有的,一部分是私有 的。公有的成员函数和数据成员可在类外被访问,也称之为类的接口。我们 可以为各个数据成员和成员函数指定合适的访问权限,类定义常有下面的形 式: class Name { public: //公有部分说明 //类的公有接口(成员函数和数据成员的定义) private: //私有部分说明 //私有的成员函数 //私有的数据成员定义 protected://保护部分说明 //受保护的成员函数 //受保护的数据成员定义 }; 对象的定义和引用 对象的定义和引用 4.1.7类的作用域 4.2构造函数和析构函数 构造函数的需要性 构造函数 缺省构造函数 析构函数 重载构造函数 拷贝构造函数 4.2.1构造函数的需要性 通常,我们要求在建立对象的同时,对象能够 自动地进行初始化,也就是说,类对象的声明即 表达了为对象分配空间和初始化的意向。我们希 望这些工作能够自动完成,这就引入了构造函数 的概念。 4.2.2构造函数 构造函数具有以下一些特点: 构造函数的名称必须与类名相同;
您可能关注的文档
最近下载
- 教科版科学五年级下册第三单元 环境与我们 大单元整体教学设计学历案教案附作业设计(基于新课标教学评一体化).docx VIP
- 2024年南京信息职业技术学院单招数学考试试题及答案解析.docx VIP
- 音韵学讲义教案第二章音韵学的基本知识.doc
- 教科版科学五年级下册第二单元 船的研究 大单元整体教学设计学历案教案附作业设计(基于新课标教学评一体化).docx VIP
- 石油化工3503电缆安装质量验收记录.docx VIP
- 2025年商铺租赁合同范本全新修订.docx VIP
- 《中医病证分类与代码》(2020修订版).docx VIP
- 中医食疗 糖尿病痛风类风湿的中医食疗 课件.ppt VIP
- 安徽中汇发新材料有限公司35万吨年轻烃裂解制苯乙烯项目(一期).pdf VIP
- 2025年南京信息职业技术学院单招语文考试题库及答案解析.docx VIP
原创力文档


文档评论(0)