实验二 继承和派生类管.doc_第1页
实验二 继承和派生类管.doc_第2页
实验二 继承和派生类管.doc_第3页
实验二 继承和派生类管.doc_第4页
实验二 继承和派生类管.doc_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

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

文档简介

实验二 继承性和派生类一、实验目的1、通过上机练习搞清有关继承的基本知识和相关概念。 基类和派生类的关系。 派生类的定义格式和派生类构造函数的定义方法。基类成员在不同继承方式下在派生类中的访问权限。2、了解多继承的特点和二义性出现的情况以及虚基类。二、实验环境:硬件环境:PC586以上;操作系统:Windows 2000;系统软件:Visual C+ 6.0三、实验内容1、上机调试教材中例7.1、例7.2、例7.3程序。上机验证回答结果的正确性。进一步搞清三种不同继承方式的特点,回答在不同的继承方式下,基类成员在派生类中和在派生类对象中的访问权限。(回答问题写入实验报告)#includeclass Apublic :void f1();protected:int j1;private:int i1;class B:public Apublic:void f2();protected:int j2;private:int i2;class C:public Bpublic:void f3();#includeclass Apublic:void f(int i)coutiendl;void g()coutgn;class B:public Apublic:void h()couthn;A:f;void main()B d1;d1.f(6);d1.g();d1.h();#include#includeclass Apublic:A(const char *nm)strcpy(name,nm);protected:char name80;class B:public Apublic:B(const char *nm):A(nm)void PrintName() const;void B:PrintName() constcoutname:nameendl;void main()B b1(wang li);b1.PrintName();2、上机调试教材中例7.4程序。掌握派生类B中的构造函数的定义格式。通过此程序的调试,总结放在构造函数的成员初始值表中进行初始化的有哪些部分?(回答问题写入实验报告)#includeclass Apublic:A()a=0;coutAs default constructor called.n;A(int i)a=i;coutAs constructor called.n;A()coutAs destructor called.n;void Print() constcout a,;int Geta()return a;private:int a;class B:public Apublic:B()b=0;coutBs destructor called.n;B(int i,int j,int k);B()coutBs destructor called.n;void Print();private:int b;A aa;B:B(int i,int j,int k):A(i),aa(j)b=k;coutBs constructor called.n;void B:Print()A:Print();coutb,aa.Geta()endl;void main()B bb2;bb0=B(1,2,5);bb1=B(3,4,7);for(int i=0;i2;i+)bbi.Print();3、上机调试教材中例7.5程序。了解析构函数的执行顺序。4、上机调试教材中例7.6程序。了解派生类构造函数在使用中应注意的两个问题。5、上机调试教材中作业题三中的1题和2题的程序。比较这两个程序的差别,说明虚基类的作用。(运行结果及回答问题写入实验报告)#includeclass Apublic:A(int i,int j)a=i;b=j;void Move(int x,int y)a+=x;b+=y;void Show() cout(a,b)endl;private:int a,b;class B:private Apublic:B(int i,int j,int k,int l):A(i,j)x=k;y=1;void Show()coutx,yendl;void fun()Move(3,5);void f1()A:Show();private:int x,y;void main()A e(1,2);e.Show();B d(3,4,5,6);d.fun();d.Show();d.f1();#includeclass Apublic:A(int i,int j)a=i;b=j;void Move(int x,int y)a+=x;b+=y;void Show() cout(a,b)endl;private:int a,b;class B:public Apublic:B(int i,int j,int k,int l):A(i,j),x(k),y(1)void Show()coutx,yendl;void fun() Move(3,5);void f1() A:Show();private:int x,y;void main()A e(1,2);e.Show();B d(3,4,5,6);d.fun();d.A:Show();d.B:Show();d.f1;6、编写一个学生和教师相关数据输入和显示程序。学生数据有学号、姓名、性别、年龄、班级号和期末三门功课总分;教师数据有职工号、姓名、性别、年龄、职称和系别。设计三个类person, student和teachet类,其中student和teacher是由person类派生出来的,在主程序中,定义两个学生和两个教师,从键盘输入他们相关的数据,并将输入数据输出显示在屏幕上。(提示:person类有两个公有成员函数:void input();输入学生或教师的姓名、性别和年龄;显示输出函数void display();显示学生和教师的姓名、性别和年龄。该类中有三个私有数据成员:姓名char name20; 、性别和年龄。)(写入实验报告)7、本章中的其它与之相关例题、习题等。#includeclass Presonpublic:void input()cout请输入姓名name20;coutage;coutsex;private:char name20;int age;char sex;class Sutdent:public Presonpublic:void putin()coutxuehao;coutxuehaoendl;coutbanjihao;coutbanjihaoendl;coutzongfen;coutzongfenendl;private:int xuehao;int banjihao;int zongfen;class Teacher:public Presonpublic:void sayin()coutzhigonghao;coutzhigonghaoendl;coutzhicheng;coutzhichengendl;coutxibie;coutxibieendl;private:int zhigonghao;char zhicheng20;char xibie20;void main()Sutdent s1,s2;Teacher t1,t2;s1.input();s1.putin();s2.input();s2.putin();t1.input();t1.sayin();t1.input();t1.sayin();#includeclass Presonpublic:void input()cout请输入姓名name20;coutage;coutsex;void display()coutname;coutage;coutsex;private:char name20;int age;char sex;class Sutdent:public Presonpublic:void putin()coutxuehao;coutbanjihao;coutzongfen;void play()coutxuehao;coutbanjihao;coutzongfen;private:int xuehao;int banjihao;int zongfen;class Teacher:public Presonpublic:void sayin()coutzhigonghao;coutzhicheng;coutxibie;void show()coutzhigonghao;coutzhicheng;coutxibie;private:int zhigonghao;char zhicheng20;char xibie20;void main()Sutdent s1,s2;Teacher t1,t2;s1.input();s1.p

温馨提示

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

评论

0/150

提交评论