复习-样卷及答案语言程序设计期末考试_第1页
复习-样卷及答案语言程序设计期末考试_第2页
复习-样卷及答案语言程序设计期末考试_第3页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

C++语言程序设计期末考试开卷笔 考试时间:120分 学号 班号 —二二三 一、填在类中必须成员函数的 原型 如果需要在被调函数运行期间,改变主调函数中实参变量的值则函数的形参应该是 类型或 指针 类型。抽 类只能作为基类使用,而不能它的对象进行函数重载时,被重载的同名函数如果都没有用const修饰,则 通过—个常对象只能调用它的常成员函数,不能调用其他成函数的递归调用是指函数直接或间接地调 自 本类对象拷贝构造函数的形参必本类对象二、阅读下列程序,写出其运行时的输出结如果程序运行时会出现错误,请简要描述错误原因。1答,则取两题得分之平均值为本小题得分。(1)程#include<iostream.h>#include<string.h>classBase{charmsg[30];

intn;Base(chars[],int{}void{}classDerived1:public{intn;Derived1(int{n=m;void{cout<<n<<endl;}classDerived2:public{运行结

intn;Derived2(int{n=m;void{cout<<n<<endl;}void{BaseB("BaseClass",1);Derived2D;}11BaseClass10(2)程#include<iostream.h>classSampvoidSetij(inta,int }

intGetMuti(){returni*j;}inti;intintfor(int{Sampfor(intp=newcout<<"Muti["<<k<<"] returnreturn}}Muti[0]is:0Muti[1]is:1Muti[2]is:4Muti[3]is:9Muti[4]is:16Muti[0]is:0Muti[1]is:1Muti[2]is:4Muti[3]is:9Muti[4]is:162答,则取两题得分之平均值为本小题得分。(1)程#include<iostream.h>#include<stdlib.h>classVector{Vector(ints=100);int&Elem(intndx);voidDisplay(void);voidSet(void);

intsize;int*buffer;Vector::Vector(int{buffer=new}int&Vector::Elem(int{{cout<<"errorinindex"<<endl;}return}

for(intj=0;j<size;j++)}{delete[]}voidvoid{for(intj=0;j<size;j++)}void{

Vectora(10);Vectorb(a);}123456123456789对象bbabuffer,(2)程classCAT{CAT(constintGetAge(){return*itsAge;}voidSetAge(intage){*itsAge=age;}int*{itsAge=new}

{deleteitsAge;}void{CATcout<<"a'sage:"<<a.GetAge()<<endl;CATcout<<"a'sage:"<<a.GetAge()<<endl;cout<<"b'sage:"<<b.GetAge()<<endl;cout<<"a'sage:"<<a.GetAge()<<endl;cout<<"b's}a'sa'sage:6b'sa'sa'sage:6b'sage:6a'sage:7b's对象bbabuffer,三、阅读下列程序及说明和注释信息,在方框中填写适当的程序段,使程序完成指定的功能1010程序运行结果如下,带下划线部分表示输入内容,其余是输出内容1314151617181920#include<iostream.h>#include<stdlib.h>template<classT>classNode{Node<T>*next;//指向后继节点的指针Tdata;//数据Node(constT&item,Node<T>*ptrnext=NULL);//构造函数voidInsertAfter(Node<T>*p);后插入一个同类节点pNode<T>*DeleteAfter(void);//删除本节点的后继节点,返回其地址Node<T>*NextNode(void)const;//获取后继节点的地址template<classT>classLinkedList{Node<T>*front,*rear;Node<T>*prevPtr,*currPtr;位置的指针,由插入和删除操作更新intsize;//表中的元素个数intposition;ResetNode<T>*GetNode(constT&item,Node<T>节点,数据域为item,指针域为ptrNextvoidFreeNode(Node<T>*p);//释放节点voidCopyList(constLinkedList<T>&L);链表LLinkedList(voidLinkedList(constLinkedList<T>&L);//拷贝构造函~LinkedList(void);函LinkedList<T>&operator=(constLinkedList<T>&L);//重载赋值运算符intListSize(void)const; intListEmpty(void)const;//size0返回TRUE,否则返回FALSEvoidReset(intpos0将指针currPtr序号为posvoidNext(void);//使prevPtrcurrPtr到下一个节intEndOfList(void)const;currPtrNULL返回TRUE,返回FALSEintCurrentPosition(void)const;//返回数据成员positionvoidInsertFront(constT&item);//在表头插入一个数据域为item节voidInsertRear(constT&item);//在表尾添加一个数据域为item节voidInsertAt(constT&item);//在当前节点之前插入一个数据域为itemvoidInsertAfter(constT&item);//在当前节点之后插入一个数据域为item节点TDeleteFront(void);//删除头节点,释放节点空间,更新prevPtr、currPtrsizevoidDeleteAt(void空间,更新prevPtr、currPtrsizeT&Data(void);//返回对当前节点成员datavoidClearList(void间template<classvoidMergeList(LinkedList<T>*la,LinkedList<T>*lb,LinkedList<T>*{lalb,lcwhile(!la->ListEmpty()while(!la->ListEmpty()&&!lb-{if(la->Data()<=lb- } }}while(!la->ListEmpty(){}while(!lb->List

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论