- 8
- 0
- 约2.36万字
- 约 62页
- 2016-12-05 发布于浙江
- 举报
第七章 类和对象的创建 本章要点: 类的声明、类的成员函数的定义、对象的定义和使用、类的成员的访问控制。 类的构造函数和析构函数的作用、定义和使用。 对象数组和对象指针的定义和使用,对象的动态分配内存。 对象作为函数参数的使用方法。 友元的作用及使用友元的有关问题。 本章内容 7.1 类和对象 7.2 构造函数和析构函数 7.3 对象数组与对象指针 7.4 对象作为函数的参数 7.5 静态成员 7.6 友元 7.1 类和对象 7.1.1 类的声明及成员的访问控制 7.1.2 类的成员函数 7.1.3 对象的定义和引用 类声明及成员的访问控制 类声明的形式 类的声明即是类的定义,其语法与结构的声明类似,一般形式如下: class 类名 { private: 私有数据成员和成员函数 protected: 保护数据成员和成员函数 public: 公有数据成员和成员函数 }; 类声明及成员的访问控制 类声明的内容 类声明的内容包括数据和函数两部分,是对类的数据和函数以及它们的访问权限的说明。 数据 声明数据成员的数据类型,名字,以及访问权限。 函数 定义成员函数及对它们的访问权限。可以在类内定义成员函数,也可以在类外定义成员函数。在类外定义成员函数时先在类内说明该成员函数的原型,再是在类外进行定义,也就是说,类内声明,类外定义。成员函数的定义方法将在后面介绍。 类声明及成员的访问控制 类成员的访问控制 类的成员的访问控制是通过类的访问权限来实现的。访问权限分为三种: private 声明该成员为私有成员。私有成员只能被本类的成员函数访问,类外的任何成员对它的访问都是不允许的。私有成员是类中被隐蔽的部分,通常是描述该类对象属性的数据成员,这些数据成员用户无法访问,只有通过成员函数或某些特殊说明的函数才可访问,它体现了对象的封装性。当声明中未指定访问控制时,系统默认该成员为私有成员。 protected 声明该成员为保护成员,一般情况下与私有成员的含义相同,它们的区别表现在类的继承中对新类的影响不同。保护成员的具体内容将在有关的章节中介绍。 public 声明该成员为公有成员。公有成员可以被程序中的任何函数访问,它提供了外部程序与类的接口功能。公有成员通常是成员函数。 类声明的例 例7.1 类声明的例。 class myclass //声明类名为myclass { private: //声明私有成员 int i; //声明i的数据类型为整型 public: //声明公有成员 void seti(int a); //声明成员函数seti()的原型 int geti() //定义成员函数geti() { return i; } }; void myclass::seti(int a) //定义成员函数seti() { i=a; } 类声明及成员的访问控制 类声明时的注意事项 声明的类是一个数据结构而不是函数,因而最后的分号不能丢掉。 说明类成员访问权限的关键字private、protected和public可以按任意顺序出现任意多次,但一个成员只能有一种访问权限。为使程序更加清晰,应将私有成员和公有成员归类放在一起。 数据成员可以是任何数据类型,但不能用自动(auto)、寄存器(register)、外部(extern)来说明。 成员函数可以在类内定义,也可在类内说明原型而在类外定义。 不能在类内给数据成员赋初值,只有在类的对象定义以后才能给数据成员赋初值。 类声明错误的例 例7.2 错误的类的声明的例 class myclass { private: int i=10; //错误 public: void seti(int a); int geti(); }; 类的成员函数(1) 成员函数又称为方法,成员函数是C++中的术语,方法是面向对象方法中的术语,它们是同一个实体。 成员函数的定义 在类声明中只给出成员函数的原型声明,而成员函数的定义则在类的外部完成。其一般形式是: 返回类型 类名::函数名(参数表) { //函数体 } 用这种方法定义成员函数应注意以下事项: 在所定义的函数名前必须缀上类名,类名与函数名之间必须加上作用域运算符∷。 在类内声明成员函数的函数原型时,参数表中的参数可以只说明参数的数据类型而省略参数名。 定义成员函数时,其返回值类型必须要与函数原型说明中的返回类型一致。 在类外定义成员函数的例 例7.2 在
您可能关注的文档
- 124711_广告插图幻灯片.ppt
- 20133688tt宽带装维人员技能培训-宽带故障处理流程幻灯片.ppt
- 20140327金色LOFT个案分析不完全版幻灯片.ppt
- 20140606高考考务培训幻灯片.ppt
- A05 ReadyNAS 竞争分析幻灯片.ppt
- Access_15过程调用与参数传递幻灯片.ppt
- Access关系数据库简介幻灯片.ppt
- ACCESS实例教程(查询)幻灯片.ppt
- access数据库基础知识幻灯片.ppt
- ACS业务介绍幻灯片.ppt
- 小区绿化施工协议书.docx
- 墙面施工协议书.docx
- 1 古诗二首(课件)--2025-2026学年统编版语文二年级下册.pptx
- (2026春新版)部编版八年级道德与法治下册《3.1《公民基本权利》PPT课件.pptx
- (2026春新版)部编版八年级道德与法治下册《4.3《依法履行义务》PPT课件.pptx
- (2026春新版)部编版八年级道德与法治下册《6.2《按劳分配为主体、多种分配方式并存》PPT课件.pptx
- (2026春新版)部编版八年级道德与法治下册《6.1《公有制为主体、多种所有制经济共同发展》PPT课件.pptx
- 初三教学管理交流发言稿.docx
- 小学生课外阅读总结.docx
- 餐饮门店夜经济运营的社会责任报告(夜间贡献)撰写流程试题库及答案.doc
最近下载
- 2026年妇幼健康信息化建设工作计划.docx VIP
- TSG 11-2020锅炉安全技术规程.docx VIP
- 《AIGC应用实战:写作、绘图、视频制作、直播》-课件全套 王翎子 第1--9章 认识AIGC ---即创的使用方法.pptx VIP
- 隧道施工及质量控制培训课件.ppt VIP
- 江苏省无锡市近三年数学中考考前考点分析及易错点巩固.docx VIP
- 公司职位说明书与绩效考核范本全套体系.doc VIP
- 建筑公司项目部及公司各岗位绩效考核表.pdf VIP
- 窗帘采购安装项目 投标方案(技术方案).docx
- JCT 2459-2018 陶粒泡沫混凝土.pdf VIP
- 配电室安全操作规程及管理规范.docx VIP
原创力文档

文档评论(0)