您好,欢迎访问三七文档
第页淮北师范大学实验报告姓名汪栋学号20131206033实验日期5月22号预习(满分20分)报告(满分30分)成绩院别计算机科学与技术学院年级13信管实验场地A406实验课程名称面向对象程序设计实验实验项目名称派生类与继承实验实验3派生类与继承实验1、实验目的(1)掌握派生类的声明方法和派生类构造函数的定义方法;(2)掌握不同继承方式下,基类成员在派生类中的访问属性;(3)掌握在继承方式下,构造函数和析构函数的执行顺序与构造规则。2、实验学时:6学时(第9-11周)3、实验内容(1)编写一个学生和教师的数据输入和显示程序。学生数据有编号、姓名、性别、年龄、系别和成绩,教师数据有编号、姓名、性别、年龄、职称和部门。要求将编号、姓名、性别、年龄的输入和显示设计成一个类Person,并作为学生类Student和教师类Teacher的基类。(2)按要求阅读、编辑、编译、调试和运行以下程序。1)阅读、编辑、编译、调试和运行以下程序,并写出程序的运行结果。#includeiostream#includestringusingnamespacestd;classMyArray//声明一个基类MyArray{public:MyArray(intleng);//构造函数~MyArray();//析构函数voidInput();//输入数据的成员函数voidDisplay(string);//输出函数的成员函数protected:int*alist;//基类中存放一组整数intlength;//整数的个数};MyArray::MyArray(intleng){if(leng=0){couterrorlength;exit(1);}alist=newint[leng];第页length=leng;if(alist==NULL){coutassignfailure;exit(1);}coutMyArray类对象已创建。endl;}MyArray::~MyArray(){delete[]alist;coutMyArray类对象被撤销。endl;}voidMyArray::Input(){cout请从键盘输入length个整数:;inti;int*p=alist;for(i=0;ilength;i++,p++)cin*p;}voidMyArray::Display(stringstr){inti;int*p=alist;coutstrlength个整数:;for(i=0;ilength;i++,p++)cout*p;coutendl;}intmain(){MyArraya(5);a.Input();a.Display(显示已输入的);return0;}2)声明一个类SortArray继承类MyArray,在该类中定义一个函数,具有将输入的整数从小到大进行排序的功能。3)声明一个类AverArray继承类MyArray,在该类中定义一个函数,具有求输入的整数平均值的功能。4.实验数据或实验现象记录1.#includeiostream第页usingnamespacestd;#includestringclassPerson{public:Person(intnu,stringna,stringse,intag){number=nu;name=na;sex=se;age=ag;}voiddisplay(){cout编号:numberendl;cout姓名:nameendl;cout性别:sexendl;cout年龄:ageendl;}private:intnumber;stringname;stringsex;intage;};classStudent:publicPerson{public:Student(intnu,stringna,stringse,intag,stringfa,doublesc):Person(nu,na,se,ag){faculty=fa;score=sc;}voiddisplay(){cout系别:facultyendl;cout成绩:scoreendl;}private:stringfaculty;doublescore;};classTeacher:publicPerson{public:Teacher(intnu,stringna,stringse,intag,stringpo,string第页de):Person(nu,na,se,ag){position=po;department=de;}voiddisplay(){cout职称:positionendl;cout部门:departmentendl;}private:stringposition;stringdepartment;};intmain(){Studenta(131206012,汪栋,男,19,计算机学院,89);Teacherb(1312001,韩玲,女,33,特级教师,团委);cout学生endl;a.Person::display();a.display();cout老师endl;b.Person::display();b.display();return0;}2.(1)#includeiostream#includestringusingnamespacestd;classMyArray//声明一个基类MyArray{public:MyArray(intleng);//构造函数~MyArray();//析构函数voidInput();//输入数据的成员函数voidDisplay(string);//输出函数的成员函数protected:int*alist;//基类中存放一组整数intlength;//整数的个数第页};MyArray::MyArray(intleng){if(leng=0){couterrorlength;exit(1);}alist=newint[leng];length=leng;if(alist==NULL){coutassignfailure;exit(1);}coutMyArray类对象已创建。endl;}MyArray::~MyArray(){delete[]alist;coutMyArray类对象被撤销。endl;}voidMyArray::Input(){cout请从键盘输入length个整数:;inti;int*p=alist;for(i=0;ilength;i++,p++)cin*p;}voidMyArray::Display(stringstr){inti;int*p=alist;coutstrlength个整数:;for(i=0;ilength;i++,p++)cout*p;coutendl;}intmain(){MyArraya(5);a.Input();a.Display(显示已输入的);return0;}(2)第页#includeiostream#includestringusingnamespacestd;classMyArray{public:MyArray(intleng);~MyArray();voidInput();voidDisplay(string);protected:int*alist;intlength;};MyArray::MyArray(intleng){if(leng=0){couterrorlength;exit(1);}alist=newint[leng];length=leng;if(alist==NULL){coutassignfailure;exit(1);}coutMyArray类对象已创建。endl;}MyArray::~MyArray(){delete[]alist;coutMyArray类对象被撤销。endl;}voidMyArray::Display(stringstr){inti;int*p=alist;第页coutstrlengthnumbersare:;for(i=0;ilength;i++,p++)cout*p;coutendl;}voidMyArray::Input(){coutPleaseinputlengthnumbers:endl;inti;int*p=alist;for(i=0;ilength;i++,p++)cin*p;}classSortArray:publicMyArray{public:voidSort();SortArray(intleng):MyArray(leng){len=leng;coutSortArray类对象已创建。endl;}virtual~SortArray();private:intlen;int*sp;};SortArray::~SortArray(){coutSortArray类对象被撤销。endl;}voidSortArray::Sort(){intq;sp=alist;for(inti=0;ilen;i++){第页for(intj=0;jlen-1;j++){if(*(sp+j)*(sp+j+1)){q=*(sp+j);*(sp+j)=*(sp+j+1);*(sp+j+1)=q;}}}}intmain(){SortArraya(5);a.Input();a.Display(These);a.Sort();a.Display(Aftersorted);return0;}(3)#includeiostream#includestringusingnamespacestd;classMyArray{public:MyArray(intleng);~MyArray();voidInput();voidDisplay(string);protected:int*alist;intlength;};MyArray::MyArray(intleng){if(leng=0){第页couterrorlength;exit(1);}alist=newint[leng];length=leng;if(alist==NULL){coutassignfailure;exit(1);}coutMyArray类对象已创建。endl;}MyArray::~MyArray(){delete[]alist;coutMyArray类对象被撤销。endl;}voidMyArray::Display(stringstr){inti;int*p=alist;coutstrlengthnumbersare:;for(i=0;ilength;i++,p++)cout*p;coutendl;}voidMyArray::Input(){coutPleaseinputlengthnumbers:;inti;int*p=alist;for(i=0;ilength;i++,p++)cin*p;}classAverage:publicMyArray{public:voidAver();Average(intleng):MyArray(leng){len=leng;coutAverage类对象已创建。endl;}virtual~Average();private:intlen;int*cp;};Average::~Average(){coutAverage类对象被撤销。endl;}voidAverage::Aver(){doubleq=0;cp=alist;for(inti=0;il
本文标题:实验报告
链接地址:https://www.777doc.com/doc-1808826 .html