面向对象程序设计试题及答案Word文档格式.docx
- 文档编号:20572877
- 上传时间:2023-01-24
- 格式:DOCX
- 页数:39
- 大小:254.20KB
面向对象程序设计试题及答案Word文档格式.docx
《面向对象程序设计试题及答案Word文档格式.docx》由会员分享,可在线阅读,更多相关《面向对象程序设计试题及答案Word文档格式.docx(39页珍藏版)》请在冰豆网上搜索。
两角"
三角"
(<
)
(<
(<
(**)
{<
换法的总数为:
(由于种数太多截图不方便所以只截了最后的部分!
实验二、函数
题目、内联函数
(1)定义内敛函数(),求两个整数中的最大值,然后在()函数中惊醒调用
(2)定义内联函数()和一般函数(),使整型参数值加,然后在()函数中惊醒调用;
();
"
中最大的是:
()<
加后为:
()
{(>
题目、函数参数的传递机制、重载函数
(1)编写重载函数()可分别求个整数、个整数、个双精度和双精度数的最大值。
()定义两个名称都为()的函数,第一个函数支持整型数组,第二个函数支持浮点型数组,求数组元素的和。
(>
())();
())();
(*)
[];
[];
,;
[]{};
[]{};
的最大值为:
型数组元素的和为:
型数组的元素和为:
题目、带默认参数的函数
定义函数(),计算立体的体积,要求在主函数中以中不同的形式调用此函数。
()注意这里不可以再带默认的参数
以"
为棱的长方体的体积为:
**;
实验三、类于对象
题目、私有成员的访问
下面的程序中用标明的语句有错误,在不删除和增加代码行的情况下,改正错误的语句,使其正确运行。
错误代码及改正方法:
:
(){;
(){<
(){<
};
()();
();
将该行代码中访问了的私有属性,改为();
改正后的运行结果:
题目、构造函数、拷贝构造函数
(1)调试下列程序
{
:
(){;
\"
(){;
()
("
)\"
问题:
(1)在该程序中将类的带有两个参数的构造函数进行修改,在函数体内添加下述语句:
.\"
。
对程序的输出结果进行分析和说明。
第一个是构造时产生的,两个分别构造和时产生的。
析构、、,是产生了三个。
(2)对上述程序在主函数中添加下列说明语句:
,()调试程序会出现什么现象,为什么?
如何解决?
结合运行结果分析如何使用不同的构造函数创建把不同的对象?
会出现对象,无法构造。
在类中将构造函数(,);
改成带有默认参数的构造函数,例如:
(,);
分析同上。
题目、析构函数、和运算符
任务
定义字符串类,包括私有数据成员(*),构造函数中用为申请空间,析构函数用释放空间,并验证构造函数和析构函数的调用书顺序。
*;
(){>
构造函数被调用!
请输入"
字符用来构造字符串。
(<
)>
[];
}
字符串的储存的内容如下:
(<
)<
析构函数被调用!
请分别输入你所要建立的两个字符串的含有字符的个数:
>
可以看出构造函数和析构函数的调用的顺序相反!
注意:
特别重视构造函数、拷贝构造函数和析构函数的使用以及调用顺序,这在整个面向对象程序设计中一直是重点同时也一直是难点。
实验四、静态成员与友元
题目、静态成员的特性
(1)调试下列程序,写出输出的结果,并分析输出结果。
程序代码:
(){;
()这里的静态函数在类外实现时就无需在家关键字。
静态的数据成员要在类外进行初始化,并且初始化时无需加关键字限定。
()静态函数的调用形式。
可以看出,的数据成员是不属于任何的对象的而属于整个类。
函同样是属于整个类可以用类名加作用域标识符进行调用,也可以用对象进行调用,两种形式的调用效果等价。
题目、友元函数
任务分析并调试程序,完成下列问题
(**);
思考:
(1)指出所有的构造函数,它们在本程序中分别起什么作用?
();
();
();
第一个实现单参和带有一个默认参数构造,第二个实现双参构造;
第三个事拷贝构造函数。
(实际上前两个可以合并为一个();
).
()指出设置默认参数的构造函数。
(前面已回答)
()指出友元函数。
将友元函数放到私有部分,观察结果是否有变化。
友元函数为:
放到私有部分是没有变化的。
()写出结果并分析结果。
(结果已给出)
题目、静态成员的应用
定义一个类,在该类中定义包括一个数据成员()(分数)、两个静态数据成员(总分)和学生人数;
成员函数()用于设置分数、求总分和累加学生人数;
静态成员函数()用于计算总分;
静态成员函数()用于计算平均值。
在(函数中输入学生成绩,并调用上述函数求出全班学生的总分和平均分。
(){;
(){>
这个班的学生该课程的总分为:
(){<
这个班的学生该课程的平均分为:
请输入个学生的成绩:
[]();
这个学生的成绩为:
[]()<
题目、友元函数的应用
任务声明和两个类,二者都有属性,定义二者的一个友元函数(),计算二者的重量和。
()(){}
请输入你在类中所要设置的值:
请输入你在类所要设置的值:
二者的重量之和为:
}这里子两个类中属性比较单一,主要是为使用友元函数,如果需要可以添加其他属性。
实验五、继承与派生
题目、单继承
任务调试下列程序,并对程序进行修改,指出程序中错误的原因。
语句
()语句
问题
(1)、将派生类的继承方式改为,会出现那些错误和不正常的现象?
为什么?
在()函数中直接使用用类的属性将是不可以的,因为继承方式是所以其属性将不可以直接被调用!
(2)将派生类的继承方式改为,会出现哪些错误和不正常的现象?
同()支部过集成的方式改为。
(3)将派生类的继承方式恢复为后,再将类的数据成员型的变量的访问权限改为时,会出现哪些错误和不正常的现象?
将会出现在类和函数中是用数据是不可以的,一维在类中是属性为。
(4)派生类的继承方式仍为,再将类中的数据成员型的变量的访问权限该为,会出现哪些错误和不正常的现象?
更改后数据在类中是可以使用,但在函数仍是不可以被使用的,因为继承方式是!
题目、利用继承与派生类来管理学生和教师的档案
假设要管理下述基类人员的如下的数据
(教师):
姓名、性别、年龄、职称、教授课程;
(学生):
姓名、性别、年龄、学号、专业;
():
姓名、性别、年龄、学号、专业、导师;
()()()(){}
姓名:
性别:
年龄:
()()()(){}
(){();
职称:
教授课程:
(){();
学号:
专业:
()()(){}
(){()<
导师:
("
张三"
男"
教授"
面向对象程序设计"
);
李四"
计算机科学与技术"
李红"
女"
()<
题目、教师干部类
定义(人)类,由分别派生(教师)类和(干部)类,再有(教师)类和类采用多重继承的方式派生出(教师兼干部)类。
(){<
职务:
()()()()(){}
工资:
校长"
王五"
院长"
实验六、虚函数与多态
题目、动态联编和静态联编
分析并调试下列程序
(){<
()"
(){<
()"
*;
();
(1)找出以上程序张是使用了重载和覆盖的函数。
覆盖的有();
和();
重载的有()和();
()写出程序的输出结果,并解释结果。
结果已截图解释省去。
分析并调试下列程序:
(){**;
(){*;
(*[])
[]>
*[];
[]();
(1)指出抽象类;
(2)指出纯虚函数,并说明它的作用。
()是抽象类,作用是为同类的函数日工同意的外部接口。
()每个类的作用是什么,正程序的作用是什么?
读者可以通过读程序就会明白该程序的作用和每个类的作用,所以就不在这里做过多的解释。
题目.图形类的设计
定义抽象类;
()任意图形的面积
()任意图形的体积
要求
(1)定义派生类(圆)、(矩形),并实现相应的纯虚函数。
(2)定义,使得到通过一如下方式统一操作和图形。
()(){};
(){;
}注意着里即使不用()属性也要对其进行一定函数实现。
(){**;
()();
()()();
圆的面积为:
球的体积为:
矩形的面积为:
题目、运算符重载
任务定义一个用来保存时间(时、分、秒),通过重载操作符“”实现两个时间的相加。
要求定义一个类,包括个数据成员:
(时)、(分)、(秒),另外两个构造函数,时间相加运算符“”重载函数输出函数().
(){>
{;
()
{<
现在时间为:
'
实验、模板与库
题目、函数模板
任务编写一个函数模板实现个数据的最小值,具体要求为:
能求不同的数据类型的最小值,个数据由键盘输入。
可以用、、等类型的参数,并在函数进行测试。
([]<
)[];
;
请输入的值:
*[];
个整型的数:
个双精度的数:
个整型数中最小的是:
个双精度数最小的是:
题目、类模板
任务编写一个使用类模板对数组经型排序、查找和求元素的和的程序,并才用相关的数据进行测试。
*;
()(){}
(*){;
个数据"
[]<
该数组的原始数据是:
(){(<
)(<
)([]<
[]){;
[][][][];
}}
(){(<
)([]);
(){;
请输入您想要建立的数组元素的个数:
()<
请分别输入您所要查找的整型和双精度数:
(())<
您所要查找的整型数在"
位"
查找失败"
您所要查找的双进度数在"
整型数排序后的顺序为:
双精度数排序后的顺序为:
整型数组的和为:
双精度数组的和为:
题目、标准模板库的应用
声明一个整型的数组,使用标准模板库()中查找算法()惊醒数据的查找,然后排序算法()对数据进行升序和降序排序。
源程序代码:
(,"
数组的原始数据为:
(()());
数组值相等的第一个元素为:
*(()())<
升序排列后:
(()()<
());
降序排列后:
实验八、的输入、输出流于文件操作
题目、格式化输入输出
以左对齐的方式输出整数,域宽为;
打印有符号数和无符号数;
将十进制整数以开头的十六进制格式输出;
用前导*格式打印;
域宽为;
()('
*'
题目、文本文件操作
任务编写程序,打开文件,向其中写入行字符,关闭文件。
然后以读写方式打开,输出文件。
请输入行字符:
{<
输入第"
行字符"
行字符以存入文件"
从文件中读取信息并显示如下:
{();
题目、二进制文件操作
任务编写程序,打开二进制文件,向其中写入个字符串,然后将文件值正定位到文件的开头,一次读取文件并显示。
请输入一个字符串:
((*)());
字符串以存入文件中"
从文件中读取性信息并显示如下:
>
((*)());
实验九、异常
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 面向 对象 程序设计 试题 答案
![提示](https://static.bdocx.com/images/bang_tan.gif)