下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
2022年计算机二级考试C++复习资料:类对象数组和静态成员一、类对象数组
类的对象和C++其他数据类型一样,也可以为其建立数组,数组的表示方法和构造一样。
#includeiostream.h
classDate
{
intmo,da,yr;
public:
Date(intm=0,intd=0,inty=0){mo=m;da=d;yr=y;}
voiddisplay()const{coutnextentry=this;
lastentry=this;
listvalue=newchar[strlen(s)+1];
strcpy(listvalue,s);
nextentry=0;
}
intmain()
{
while(1)
{
cout>name;
if(strncmp(name,end,3)==0)break;
newListEntry(name);
}
ListEntry*next=ListEntry::firstentry;
while(next!=0)
{
next->display();
ListEntry*hold=next;
next=next->NextEntry();
deletehold;
}
return0;
}
程序首先显示提示信息,输入一串姓名,以end作为完毕标志。然后根据输入挨次来显示姓名。构造函数将表项参加链表,用new运算符来声明一个表项,但并没有把new运算符返回的地址赋值给某个指针,这是由于构造函数会把该表项的地址赋值给前一个表项的nextentry指针。
这个程序和前面将的逆序输出的程序都不是方法,的方法是使用类模板,这在后面再介绍。
main()函数取得ListEntry::firstentry的值,开头遍历链表,因此必需把ListEntry::firstentry设置成公有数据成员,这不符合面对对象程序的商定,由于这里数据成员是公有的。
2.静态成员函数
成员函数也可以是静态的。假如一个静态成员函数不需要访问类的任何实例的成员,可以使用类名或者对象名来调用它。静态成员通常用在只需要访问静态数据成员的状况下。
静态成员函数没有this指针,由于它不能访问非静态成员,所以它们不能把this指针指向任何东西。
下面的程序中,ListEntry类中参加了一个静态成员函数FirstEntry(),它从数据成员firstentry获得链表第一项的地址,在这儿,firstentry已经声明为私有数据成员了。
#includeiostream.h
#includestring.h
classListEntry
{
staticListEntry*firstentry;
staticListEntry*lastentry;
char*listvalue;
ListEntry*nextentry;
public:
ListEntry(char*);
~ListEntry(){delete[]listvalue;}
staticListEntry*FirstEntry(){returnfirstentry;}
ListEntry*NextEntry()const{returnnextentry;};
voiddisplay()const{coutnextentry=this;
lastentry=this;
listvalue=newchar[strlen(s)+1];
strcpy(listvalue,s);
nextentry=0;
}
intmain()
{
while(1)
{
cout>name;
if(strncmp(name,end,3)==0)break;
newListEntry(name);
}
ListEntry*next=ListEntry::FirstEntry();
while(next!=0)
{
next->display();
ListEntry*hold=next;
next=next->NextEntry();
deletehold;
}
return0;
}
函数ListEntry::FirstEntry()是静态的,返回静态数据成员firstentry的值。
3.公有静态成员
假如一个静态成员象上面程序一样是公有的,那么在整个
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 信息咨询公司员工管理办法
- 上海市松江区2025-2026学年高三总复习阶段模拟数学练习
- 2026年高职(工业工程技术)生产线布局优化综合测试题及答案
- 【高中语文】《望海潮》《扬州慢》联读课件+统编版高二语文选择性必修下册
- 2026年高考英语听力技巧与模拟试题
- 正本清源:以摄影作品权属认定为核心的版权商业维权诉讼纠偏研究
- 正则化赋能强化学习策略梯度算法的深度剖析与实践
- 班级精细化管理一览表
- 欧盟区域政策对西班牙区域差距收敛的影响:基于多维度视角的剖析
- 欧债危机下欧元区国家估值效应与国际投资净头寸的联动关系探究
- 工程经济学概论(第4版)课件 邵颖红 第9-11章 投资风险分析、资产更新分析、价值工程
- 指导学生技能大赛训练工作计划
- 土地房屋测绘项目 投标方案(技术方案)
- 开封大学单招职业技能测试参考试题库(含答案)
- 采购管理制度及流程采购管理制度及流程
- 水工隧洞的维护-水工隧洞的检查与养护
- 室内给水管道及配件安装工程检验批质量验收记录表
- 奔驰GLK汽车说明书
- 2023年宁夏回族自治区卫生健康委住院医师规范化培训招收考试试卷真题
- 广东开放大学学位外语(本23春)形成性考核1试题及答案
- 数字填图系统新版(RgMap2.0)操作手册
评论
0/150
提交评论