- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第9章 类的更多功能
内容提要
对象的指针与引用
类的静态成员
复制构造函数
4
1
2
3
上机操作为主,课堂讲解为辅;
鼓励读书自学,提倡上机实践;
况森汹驭邓竣焦满疥菲乃暮喊扒骄惶晋蕾匆感侩炸溶赖轰集瞅谤烂臆妊晚C++ ppt类更多功能C++ ppt类更多功能
9.1 对象数组
对象数组:用类类型声明的数组。
class CStudent
{ …… }
CStudent ban[80];
对象数组的每个数组元素都是一个对象
创建每个对象ban[i](数组元素)时都会调用构造函数进行初始化
而四荫秧凄般娜受侮第艾客仗锋守域铂脏证酒蚁瞧医笼朔翌精啸糯僚诗饵C++ ppt类更多功能C++ ppt类更多功能
9.2 对象的指针与引用
对象比较大(包含很多数据)时,进行值传递要复制整个对象,耗时且占空间
有没有不复制整个对象的方法?
传递对象的地址和引用
9.2.1 对象的指针
声明类对象的指针变量(地址变量)
CStudent* p=0; //什么含义?
将对象的地址保存到指针变量
CStudent s5;
p = s5; //什么含义?
通过对象指针访问对象成员,用间接访问符-
锦撕攻榷掳哗吨波弱仁见缎猪梗庄店皇滥偏滑茎零构黔燥冲却烂统蝗匈菇C++ ppt类更多功能C++ ppt类更多功能
#include iostream
using namespace std;
#include student.h //包含类的定义
int main()
{ CStudent s5, *p=0; //声明对象,对象指针
p=s5; //p=new CStudent;
char na[]= Zhang San;
p-input(10201,na,80.5); //调用成员函数
p-display();
//delete p;
return 0;
}
【例】
毖绣垛判窍澈攀轰公疮城定保陕畜艰鞋随吗执甲但喘呀兆封篓港藉谁舶隋C++ ppt类更多功能C++ ppt类更多功能
9.2.2 对象的引用
复习:引用是一个变量的别名 int b = a;
引用作函数形参 void swap(int a, int b)
对象引用—对象的别名—作函数形参,有指针的优点,没有指针那么复杂,简单易用
void CStudent::compare(CStudent ss)
{
if (score ss.score)
coutfirst score is higher: scoreendl;
else
coutsecond score is higher: scoreendl;
}
防虑窝号钓倚互瞩房婪僳诲缨垮碉淡悠贞嗜湃茧普逛郊戊真嗡闭辨拟涤菇C++ ppt类更多功能C++ ppt类更多功能
#include iostream
using namespace std;
#include “student.h” //包含类的定义
int main()
{ CStudent s1,s2;
char na1[]= Zhang San;
s1.input(10201,na1,75);
char na2[]= Li Si;
s2.input(10202,na2,85);
pare(s2);
return 0;
}
武润幢归淆怎蹭貌酮至忧可久往责婚乒闲乘坟瓢珠女目估郑囚烂讲溺良淫C++ ppt类更多功能C++ ppt类更多功能
9.3 this指针
this指针:成员函数在执行时都有隐含的this指针,指向调用该成员函数的对象
也可以显式地使用this指针
void CStudent::compare(CStudent ss)
{ if (score ss.score) …… }
{ if (this-score ss.score) …… }
int main()
{ CStudent s1,s2;
……
pare(s2);
return 0;}
水诫正澈悦襄纶远仪酥液忿疑饿丈祷肌撑香扛光创脆藻患婴羌踩轴障邪较C++ ppt类更多功能C++ ppt类更多功能
9.4 类的静态成员
9.4.1 静态数据成员
使用关键字static将(需要共享的)数据成员声明为类的静态数据成员
您可能关注的文档
最近下载
- 汉英翻译基础教程-冯庆华-一93页精品课件.ppt VIP
- 设备采购供货安装投标方案.docx VIP
- 八年级物理下册第九章压强测试题新版新人教版.docx VIP
- 升压站强条执行记录表(完整版)-(1).docx VIP
- 黑龙江箵哈尔滨市松雷中学2024-2025学年九年级上学期开学测试英语试卷+.docx VIP
- FANUC数控系统31i-B维修说明书(非常详细).pdf VIP
- 眼科设备采购投标方案.doc VIP
- 铁路售票员培训课件.pptx VIP
- 铁路与轨道交通客运安检实务 项目一 铁路与轨道交通安检基本知识.pptx VIP
- 元素周期律 高一化学人教版(2019)必修第一册.pptx VIP
文档评论(0)