- 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++面向对象程序设计
第四章
本章导读
• 类实现了不同类型数据的的聚集,也就是
说,类的数据成员可以是不同的数据类型,
哪么由用户自定义的数据类型在类机制中
如何使用?另外,类实现了数据的封装和
保护,类的外部函数如果要访问类内的数
据成员又要如何实现呢?本章主要针对以
上问题讲解面向对象C++中的两个重要内容:
对象成员和友员,
本章要点
• 对象成员
• 静态数据成员和静态成员函数的概念和用
法
• 友元概念和用法
第四章 目录
• 4.1对象成员
• 4.2对象数组与对象指针
• 4.3 向函数传递对象
• 4.4 静态成员
• 4.5 友元
• 4.6 常类型
• 4.7 程序举例
• 4.8本章小结
• 习题四
4.1对象成员
• 对象成员是指在类的定义中数据成员可以
为其它的类的对象,即类对象作为另一个
类的数据成员。
• 如果在类定义中包含有对象成员,则在创
建类对象时先调用对象成员的构造函数,
再调用类本身的构造函数。析构函数和构
造函数的调用顺序正好相反。
• 【例4.1 】对象成员
• #includeiostream
• using namespace std;
• class StudentID{
• public:
• StudentID(int id=0) // 带缺省参数的构造函数
• {
• value=id;
• cout Assigning student id value endl;
• }
• ~StudentID()
• {
• cout Destructing id value endl;
• }
• private:
• int value;
• };
• class Student{
• public:
• Student(char* pName=no name,int ssID=0):id(ssID)
• {
• cout Constructing student pName endl;
• strncpy(name,pName,sizeof(name));
• name[sizeof(name)-1]=\n;
• }
• ~Student()
• {coutDeconstructing student nameendl;}
• protected:
• char name[20];
• StudentID id; // 对象成员
• };
• void main()
• {
• Student s(li ming;
• Student t(wang lan);
• }
• 如果一个程序中有对象成员,实际上是首先调用
类本身的构造函数,在执行本身构造函数的函数
体之前,调用成员对象的构造函数,然后再执行
类本身构造函数的函数体
4.2对象数组与对象指针
• 4.2.1对象数组
• 4.2.2对象指针
• 4.2.3指向类的成员的指针
4.2.1对象数组
• 所谓对象数组是指每一数组元素都是对象
的数组,也就是说,若一个类有若干个对象,
我们把这一系列的对象用一个数组来存放。
对象数组的元素是对象,不仅具有数据成
员,而且还有成员函数。
• 1.一维对象数组的定义:
• 类名数组名[下标表达式];
• 例如:
• Student obj[10];
• 定义了类Student的对象数组obj 。
• 2.一维对象数组的访问
• 与基本数据类型的数组一样,在使用
您可能关注的文档
- C++面向对象程序设计 曹静 教学课件 第01章 面向对象程序设计概述.pdf
- C++面向对象程序设计 曹静 教学课件 第02章 C++语言基础.pdf
- C++面向对象程序设计 曹静 教学课件 第04章 类与对象.pdf
- C++面向对象程序设计 曹静 教学课件 第10章 项目设计——校园信息管理系统.pdf
- C++面向对象程序设计 教学课件 陈维兴 陈昕 C++邮电 2.pdf
- C++面向对象程序设计 教学课件 陈维兴 陈昕 C++邮电 3.pdf
- C++面向对象程序设计 教学课件 陈维兴 陈昕 C++邮电 4.pdf
- C++面向对象程序设计 教学课件 陈维兴 陈昕 C++邮电 5.pdf
- C++面向对象程序设计 教学课件 李兰_ 第2章.pdf
- C++面向对象程序设计 教学课件 李兰_ 第3章.pdf
- C++面向对象程序设计 教学课件 栗青生 第5章.pdf
- C++面向对象程序设计 教学课件 栗青生 第6章.pdf
- C++面向对象程序设计 教学课件 栗青生 第8章.pdf
- C++面向对象程序设计 教学课件 张德慧 周元哲 主编 第12章 异常处理.pdf
- C++面向对象程序设计 教学课件 张德慧 周元哲 主编 面向对象程序设计 实验指导书(张德慧).pdf
- C++面向对象程序设计 教学课件 朱战立 张玉祥 C++1.pdf
- C++面向对象程序设计(第二版) 教学课件 曹静 第八章 数据流与文件的输入输出.pdf
- C++面向对象程序设计(第二版) 教学课件 曹静 第二章 C++语言基础.pdf
- C++面向对象程序设计(第二版) 教学课件 曹静 第九章 异常处理.pdf
- C++面向对象程序设计(第二版) 教学课件 曹静 第六章 多态性与虚函数.pdf
文档评论(0)