面向对象十道大题(2).doc
上传人:sy****28 上传时间:2024-09-12 格式:DOC 页数:5 大小:117KB 金币:16 举报 版权申诉
预览加载中,请您耐心等待几秒...

面向对象十道大题(2).doc

面向对象十道大题(2).doc

预览

在线预览结束,喜欢就下载吧,查找使用更方便

16 金币

下载此文档

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

一、写出下列程序的输出结果。(满分10分)#include<iostream.h>#include<string.h>classPerson{public:Person(char*s){name=newchar[strlen(s)+1];strcpy(name,s);}virtualvoidprint(){cout<<”Mynameis”<<name<<endl;}protected:char*name;};classStudent:publicPerson{public:Student(char*s,floatg):Person(s){avg=g;}voidprint(char*s){cout<<s<<”Mynameis“<<name<<”andmygradeis”<<avg<<endl;}private:floatavg;};classprofessor:publicPerson{public:Professor(char*s,intn):Person(s){publs=n;}voidprint(){cout<<”Mynameis”<<name<<”andIhave”<<publs<<”publication.”<<endl;}private:intpubls;};voidmain(void){Person*p;Personx(“Zhang”);Studenty(“Wang”,4,2);Professorz(“Liu”,5);p=&x;p->print();p=&y;p->print();p=&z;p->print();}二.简答题(每小题5分,共20分)1.简述面向对象软件开发方法的优点。2.简述面向对象技术的三大机制。3.简述OOA模型的层次结构。4.简述OOD模型的总体结构,并画图表示。三、.试用UML对教学管理系统及相关的数据库系统进行分析和设计。学生选课系统一般包括(1)选课管理功能;(2)成绩管理功能。试完成下列工作:(1)建立系统静态结构模型—画出系统用例图和类图;(10分)(2)建立系统动态结构模型—画出系统序列图和协作图;(10分)(3)建立关系数据库逻辑模型。(10分)四、写出下列程序的输出结果。(满分10分)classB{public:B(){cout<<"B"<<endl;}virtualvoidf(){cout<<"B::f"<<endl;}virtual~B(){cout<<"~B"<<endl;}};ClassD:publicB{private:intd;public:D(){cout<<"D"<<endl;}voidf(){cout<<"D::f"<<endl;}virtual~D(){cout<<"~D"<<endl;}};voidmain(){B*pB;Dd1;pB=&d1;pB->f();deletepB;}五.简答题(每小题4分,共20分)1.为什么面向对象方法能更有效地克服软件危机?2.如何实现运行时多态?3.基于UML的面向对象系统开发方法包括哪几步?4.简述确定分析类的方法。5.简述基于UML的数据库系统分析和设计的步骤。六.分析与设计题试用UML对开放式学籍管理系统及相关的数据库系统进行分析和设计。学籍管理系统的主要用户是系统管理员和学生:系统管理员使用学籍管理系统来实现教师信息管理、学生信息管理,课程管理、成绩管理和打印报表;学生使用学籍管理系统来实现选课管理和成绩查询。试完成下列工作:(1)画出学籍管理系统的用例图;(6分)(2)定义学籍管理系统的三个基本分析类;(6分)(3)画出学籍管理系统的类图;(6分)(4)画出学生查询成绩的活动图;(6分)(5)学生类和课程类之间存在多对多的关联,试将这种关联转化为关系数据库模式。(6分)七、试编程实现下列类层次结构以实现对客户数据的管理。(共20分)八、改错题。九、写出下列程序的输出结果(满分10分)#include<iostream.h>classperson{public:virtualvoidshow(){cout<<“Itisaperson”<<endl;}};classstudent:publicperson{public:virtualvoidshow(){cout<<“Itisastudent”<<endl;}};voidmain(){personO1,*ps;StudentO2;O1.show();O2.show();ps=&O1;ps->show();ps=&O2;ps->show();}十