2022大学慕课答案 C++语言程序设计(下)——从C到C++(吉林师范大学) 最新大学MOOC满分章节测试答案
本答案对应课程为:点我自动跳转查看
本课程起止时间为:2020-02-24到2020-07-15
本篇答案更新状态:已完结
【作业】第7章 面向对象程序设计之一(1) C++结构体相关作业
1、 问题:1.定义表示三维空间中某点的结构体Point。
评分规则: 【 结构体名称及三维
】
2、 问题:2.定义银行账号结构体Account,包括利息balance、利率intrestRate、账户类型termt和账户名name(20字符以内)4个域。定义各个域时需要仔细斟酌各字段对应的数据类型。
评分规则: 【 结构体、各字段名称各字段类型
】
第7章 面向对象程序设计之一(1) 单元测验7-1
1、 问题:下列关于类的描述中,错误的是( )。
选项:
A:类可认为是一种数据类型
B:用类所定义出的变量称为对象
C:类包含数据成员和函数成员
D:类成员的访问权限有2种
答案: 【类成员的访问权限有2种】
2、 问题:下列哪种思想不属于面向对象程序设计?( )
选项:
A:抽象
B:封装
C:继承
D:模块化
答案: 【模块化】
3、 问题:假设编写一个教务管理系统,通过分析可以抽象出若干个类,其中应不包括下列哪个类?( )
选项:
A:学生类
B:教师类
C:课程类
D:宿舍类
答案: 【宿舍类】
4、 问题:下列关于类的描述中,错误的是( )。
选项:
A:类的数据成员也被称作属性
B:类的函数成员也被称作方法
C:面向对象中的分类被称作是抽象
D:可以用流程图来描述类的设计
答案: 【可以用流程图来描述类的设计】
5、 问题:下列关于类定义语法的描述中,错误的是( )。
选项:
A:定义类时需使用关键字class
B:类定义代码通常分为声明和实现2部分
C:完整的函数定义代码通常放在类实现部分
D:不同类的成员之间不能重名
答案: 【不同类的成员之间不能重名】
6、 问题:下列关于数据成员的描述中,错误的是( )。
选项:
A:数据成员用于保存数据
B:数据成员的的类型只能是基本数据类型
C:类中的数据成员之间不能重名
D:声明数据成员不能初始化
答案: 【数据成员的的类型只能是基本数据类型】
7、 问题:下列关于函数成员的描述中,错误的是( )。
选项:
A:函数成员的功能通常是对本类中数据成员进行处理
B:函数成员访问本类中数据成员时需先定义,后访问
C:类中的函数成员之间可以重名,即重载函数
D:函数成员的完整定义代码可以放在声明部分,此时该函数被默认为内联函数
答案: 【函数成员访问本类中数据成员时需先定义,后访问】
8、 问题:类成员的访问权限不包括下列哪种权限?( )
选项:
A:public
B:private
C:protected
D:inline
答案: 【inline】
9、 问题:下列关于对象的描述中,错误的是( )。
选项:
A:对象是用类定义的变量,也可称为是类的实例
B:一个对象所占的内存空间等于其类中所有数据成员所占内存的总和
C:一个对象只属于某一个类
D:一个类只能定义一个对象
答案: 【一个类只能定义一个对象】
10、 问题:已定义一个圆的类Circle:class Circle
{
private: double r;
public:
void SetR(double x) { r = x; }
double GetArea( ) { return 3.14rr; }
};下列计算圆面积的代码中,正确的是( )。
选项:
A:Circle c; c.r = 10.5; cout << 3.14c.rc.r;
B:Circle c; c.SetR(10.5); cout << c.GetArea( );
C:Circle c; cout << c.GetArea( );
D:Circle c; SetR(10.5); cout << GetArea( );
答案: 【Circle c; c.SetR(10.5); cout << c.GetArea( );】
11、 问题:已定义一个圆的类Circle:class Circle
{
private: double r;
public:
void SetR(double x) { r = x; }
double GetArea( ) { return 3.14rr; }
};下列计算圆面积的代码中,正确的是( )。
选项:
A:Circle c, p = &c; p.SetR(10.5); p.GetArea( );
B:Circle c, p = c; p->SetR(10.5); p->GetArea( );
C:Circle c, p = &c; p->SetR(10.5); p->GetArea( );
D:Circle c, p = &c; p->GetArea( );
答案: 【Circle c, *p = &c; p->SetR(10.5); p->GetArea( );】
【作业】第7章 面向对象程序设计之一(2) 单元作业7-2
1、 问题:阅读程序。阅读下列C++程序,对每条语句进行注释,说明其作用(请粘贴源代码或屏幕截图,不要上传附件)。#include <iostream>
using namespace std;
class CTest
{
private: int x, y;
public:
CTest(int p1 = 0, int p2 = 0) { x = p1; y = p2; }
CTest(CTest &p) { x = p.x; y = p.y; }
void Show( ) { cout << x << “, “ << y << endl; }
};
int main( )
{
CTest obj1;
obj1.Show( );
CTest obj2(2, 5);
obj2.Show( );
CTest obj3(obj2);
obj3.Show( );
return 0;
}
评分规则: 【 从“class CTes”t开始的每条语句都要加注释。未加注释或注释错误,每个扣5分。参考答案:#include <iostream>
using namespace std;
class CTest // 定义类CTest
{
private: int x, y; // 声明私有数据成员x、y
public:
CTest(int p1 = 0, int p2 = 0) { x = p1; y = p2; } // 带默认形参值的构造函数
CTest(CTest &p) { x = p.x; y = p.y; } // 拷贝构造函数
void Show( ) { cout << x << “, “ << y << endl; } // 显示数据成员的函数
};
int main( ) // 主函数
{
CTest obj1; // 定义对象obj1,自动调用构造函数将数据成员初始化为0
obj1.Show( ); // 显示结果:0, 0
CTest obj2(2, 5); // 定义对象obj2,自动调用构造函数将数据成员初始化为2和5
obj2.Show( ); // 显示结果:2, 5
CTest obj3(obj2); // 定义对象obj3,自动调用拷贝构造函数用obj2初始化obj3
obj3.Show( ); // 显示结果:2, 5
return 0; // 程序结束,返回
}
】
【作业】第7章 面向对象程序设计之一(3) 单元作业7-3
1、 问题:编写程序。编写一个关于圆形的C++程序。要求用定义一个圆形类Circle,其中包含如下成员:1) 1个私有数据成员(半径);2) 3个公有函数成员(设置半径、计算面积、计算周长);3) 3个构造函数(不带参数的构造函数、带参数的构造函数和拷贝构造函数)。编写主函数main(),使用圆形类Circle创建圆形对象,要求:1) 定义一个圆对象c1,从键盘输入一个值x并将其设定为c1的半径,计算并显示c1的面积和周长;2) 再定义一个圆对象c2,并将半径初始化为2x,计算并显示c2的面积和周长;3) 再定义一个圆对象c3,并用c1初始化c3,计算并显示c3的面积和周长。注:请粘贴源代码或屏幕截图,不要上传附件。
评分规则: 【 本题目的是练习类与对象编程。如不能完成功能,每项扣30分;每个语法错误扣5分。参考答案:#include <iostream>
using namespace std;
class Circle // 定义圆形类Circle
{
private: double r;
public:
void Set(double x) { r = x; }
double CArea( ) { return ( 3.14rr ); }
double CLen( ) { return ( 3.142r ); }
Circle( ) { r = 0; }
Circle( double x ) { r = x; }
Circle( Circle &x ) { r = x.r; }
} ;
int main( ) // 主函数
{
int x; cin >> x;
Circle c1; c1.Set( x );
cout << c1.CArea( ) << “, “ << c1.CLen( ) << endl;
Circle c2( 2*x );
cout << c2.CArea( ) << “, “ << c2.CLen( ) << endl;
Circle c3( c1 );
cout << c3.CArea( ) << “, “ << c3.CLen( ) << endl;
return 0;
}
】
本文章不含期末不含主观题!!
本文章不含期末不含主观题!!
支付后可长期查看
有疑问请添加客服QQ 2356025045反馈
如遇卡顿看不了请换个浏览器即可打开
请看清楚了再购买哦,电子资源购买后不支持退款哦