第5题
一、定义两个类:圆类Circle,和圆柱体类Cylinder,要求如下: (1)编写一个圆类Circle,该类拥有: l 成员变量:radius(私有,浮点型); // 存放圆的半径; l 两个构造方法: Circle( ) // 将半径设为0 Circle(double r ) //创建Circle对象时将半径初始化为r l 三个成员方法: double getArea( ) //获取圆的面积 double getPerimeter( ) //获取圆的周长 void showCircle( ) //将圆的半径、周长、面积输出到屏幕 (2)编写一个圆柱体类Cylinder,它继承于上面的Circle类。还拥有: l 成员变量:double height(私有,浮点型); // 圆柱体的高; l 构造方法: Cylinder (double r, double h ) //创建Circle对象时将半径初始化为r 注意: Cylinder (double r, double h ) 必须使用父类的 Circle(double r ) 来初始化圆柱体的半径 l 成员方法: double getVolume( ) //获取圆柱体的体积=底面积*高,底面积为圆的面积 注意: double getVolume( ) 必须使用父类的double getArea( )来求解圆柱体的底面积 void showCircle( ) //将圆柱体的半径,高和体积输出到屏幕 二、在主类(即包含main方法的类)中, 实现分别创建圆类Circle类和圆柱体类Cylinder的实例对象,并分别通过键盘输入来设置圆的半径、圆柱体的半径和高,且分别显示圆半径、圆面积、圆周长,圆柱体的体积。 三、重要提示:实验代码只需要在如下代码框架中对应位置补充即可。 框架代码简要说明: l为提高程序可读性和友好性,对本实验的要求进行了模拟菜单操作的设计; l菜单功能说明: 当输入11,利用键盘输入数据,来创建圆类Circle类的实例对象,求解圆面积、圆周长,最后输出圆的相关信息,即圆半径、圆面积、圆周长; 当输入12,利用键盘输入数据,来创建圆柱体类Cylinder的实例对象,求解圆柱体的体积,最后输出圆柱体的相关信息,即圆柱体半径、高,以及体积; 当输入quit,则退出
第7题
A、System.ArgumentException
B、System.IO.IOException
C、System.SystemException
D、System.ApplicationException
第9题
实验四 继承与派生 一、实验目的 1、学习定义和使用类的继承关系,定义派生类。 2、熟悉不同继承方式下对基类成员的访问控制。 3、学习利用虚基类解决二义性问题。 4、类的组合的练习。 5、通过上机练习搞清有关继承的基本知识和相关概念。 (1)基类和派生类的关系。 (2)派生类的定义和派生类构造函数的定义方法。 (3)基类成员在不同继承方式下在派生类中的访问权限。 6、通过上机搞清子类型和赋值兼容规则。真正理解“白狗就是狗”的概念。 7、了解多继承的特点和二义性出现的情况以及虚基类。 二、实验任务 1、定义一个基类Animal,有私有整型成员变量age。构造其派生类dog,在其成员函数SetAge(int n)中直接给age赋值,看看会有什么问题?把age改为什么访问权限的就不会有问题了?编程试试看。分别在两个类的构造函数和析构函数中用cout输出不同的提示信息,在主函数中定义派生类的对象,观察构造函数和析构函数的执行情况。 2、定义一个Shape基类,包括整型变量的变量成员x,y,来表示位置,定义带参的构造函数可以初始化x,y,再由此定义出派生类;矩形类Rect和圆类Circle,Rect类增加宽和高w,h两个变量,Circle类增加半径r,分别定义两个派生类的构造函数,可以初始化各自变量(包括基类成员)。 3、编写一个在职研究生相关数据输入和显示程序。 请按下列要求编程。 (1)构造类研究生类数据有学号、姓名(char name[20])、性别(char sex)、年龄(int age)、班级号(int classNum)和期末总分(double score)。 有两个公有成员函数,一个是设置研究生的姓名、性别、年龄和班级号和期末总分的值:void SetValue(char* n, char _sex, int a, int classN, double s);另一个是显示输出函数void display();显示 研究生 姓名、性别、年龄 和班级号和期末总分 。 (2)在职人员数据有职工号、姓名(char name[20])、职称(int level)和部门(int department)。 有两个公有成员函数,一个是设置 在职人员的姓名、职称和部门的值函数:void SetValue(char* n, int level, int d);另一个是显示输出函数void display();显示在职人员的姓名、 职称和部门。 注*: 职称:从1到8 部门:1到3 (3)构造在职研究生类,该类是研究生类和在职人员的派生类。 有两个公有成员函数,一个是设置在职研究生的姓名、性别、年龄和班级号、期末总分、职称和部门的值:void SetValueExtra(char* n, char _sex, int a, int classN, double s, int level, int d);另一个是显示输出函数void display();显示 在职研究生的姓名、性别、年龄和班级号、期末总分、职称和部门 。 在主函数中,分别定义一个研究生和一个在职人员,给定相关数据,并再将输入数据输出显示在屏幕上。 再定义一个在职研究生对象,给定相关数据,并再将输入数据输出显示在屏幕上。 按上述要求编写出程序并上机调试。 附加题(加分): 4、P164题5-11 编写程序,定义机动车类Vehicle,包括的数据成员有出厂日期和售价,并定义成员函数可以设置这些数据成员,再定义Print()成员函数输出成员变量内容,然后定义Car类和Trunk类,分别扩展各自的内容,如Car类增加乘客数量,Trunk类增加载重吨数,并都可以通过构造函数初始化各自成员变量和其基类成员,最后都能输出相关信息。
为了保护您的账号安全,请在“上学吧”公众号进行验证,点击“官网服务”-“账号验证”后输入验证码“”完成验证,验证成功后方可继续查看答案!