- 1、本文档共5页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
c类与对象实验作业
实验二 类和对象
实验目的
学习类的定义、实例化的方法,
学习使用构造函数和析构函数
学习类成员访问控制的运用
学习new和delete运算符的运用
学习使用静态成员
了解用多个文件组建工程的方法
进一步熟悉Visual C++的编译连接错误,掌握Visual C++调试工具
实验内容
1. 链表类LinkList
[实现要求]
链表元素的空间是动态申请的。
在链表类的构造函数中初始化链表,在链表类的析构函数中释放链表所有元素的空间。
链表类用单独的文件“linklist.cpp”实现,链表类的定义放在一个头文件“linklist.h”中,主文件名为“mian.cpp”。具体步骤如下:
1)新建一个项目,命名为“linklist”
2)用File|New创建一个新的”C++ Source File”,命名为main.cpp
3)用File|New创建一个新的”C++ Source File”,命名为linklist.cpp
4)用File|New创建一个新的”C/C++ Header File”,命名为linklist.h
5)在main.cpp和linklist.cpp 中包含进头文件:#include “linklist.h”
链表类中元素为整数,并具有以下功能:
void putTail (int newData); //在表尾加入一个新元素
void putHead (int newData); //在表头插入一个新元素
int getHead (void); //从表头取出一个元素,并释放该结点
int peekHead(void) ; //查看表头元素的值,假定链表至少有一个元素
bool empty ( ); //检查链表是否空
int getElemCount() ; //取链表元素个数
bool是C++定义的数据类型,它其实是一种整数类型。具有bool类型的变量只有两种值:true或false。一个条件表达式返回的值就是bool类型的。如表达式i!=0在i的值为0时返回false,在不为0时返回true。
Linklist.h:
#includeiostream.h
class node{
public:
int data;
node *next;
};
class LinkList
{
protected:
int count; //链表中元素的个数
static int Lnumber; //链表个数
node * dataLinkHead, * dataLinkTail; //表头、表尾指针
public:
LinkList() //构造函数
{
dataLinkHead=dataLinkTail=NULL;
count=0;
Lnumber++;
}
void del()
{
while(dataLinkHead)
{ node *temp=dataLinkHead;
dataLinkHead=dataLinkHead-next;
delete temp;
count=0;
}
}
~LinkList() //析构函数
{
del();
Lnumber--;
}
void putTail (int newData); //在表尾加入一个新元素
void putHead (int newData); //在表头插入一个新元素
int getHead (void); //从表头取出一个元素,并释放该结点
int peekHead(void); //查看表头元素的值,假定链表至少有一个元素
bool empty (); //检查链表是否空
int getElemCount(); //取链表元素个数
static int getListNumber(); //取列表个数
};
Linklist.cpp:
#include linklist.h
int LinkList::Lnumber=0;
void LinkList::putTail (int newData)
{
//建立一个新的结点
node *pNew=new node;
您可能关注的文档
- 2011年秋季学期八年级期中考试成绩分析.doc
- 简阳中学2012级理综周练习(一)答案.doc
- 第13章体系结构的分析与评估.ppt
- 一年一期语文期末复习题.doc
- 双语课件汉维200句子非常好用(201-300).doc
- 2012湖南对口计算机网络期末试题.doc
- 小学2007年秋英语教研组工作计划.doc
- 第十章课后习题.ppt
- 2005年5月数据库系统工程师试题答案.doc
- 与香蕉有关的机械损伤测试.doc
- 师缘主题课件最新完整版本.pptx
- 基于偏好MOEA_D算法的气发动机多目标优化标定研究.pdf
- 师范技能课件比赛一等奖最新完整版本.pptx
- 师范生初中美术说课课件最新完整版本.pptx
- 师范技能课件图片素材库最新完整版本.pptx
- Unit 2 Making a Difference Understanding ideas The Well that changed the world 教学设计-高中英语外研版(2019)必修第三册.docx
- 师范生技能大赛PPT课件语文最新完整版本.pptx
- 基于扭矩的双燃料发动机控制策略研究.pdf
- 1.2.1 等差数列的概念及其通项公式(教学设计)高二数学(北师大版2019选择性必修第二册).docx
- 师范文化课件最新完整版本.pptx
文档评论(0)