2021 C++程序设计(淮阴工学院)1463303507 最新满分章节测试答案
- 第1周 类和对象 类和对象测验题
- 【作业】第1周 类和对象 类和对象作业
- 【作业】第2周 构造函数和析构函数 构造函数和析构函数作业
- 第2周 构造函数和析构函数 构造函数与析构函数测试
- 【作业】第3周 堆与拷贝构造函数 拷贝构造函数作业
- 第3周 堆与拷贝构造函数 拷贝构造函数测试
- 第4周 常量成员、静态成员与友元 常量成员、静态成员与友元测验
- 【作业】第4周 常量成员、静态成员与友元 常量成员、静态成员与友元测验
- 【作业】第5周 继承与派生 继承与派生作业(1)
- 第5周 继承与派生 继承与派生测验(1)
- 第5周 继承与派生 继承与派生测验(2)——虚函数与抽象类
- 【作业】第6周 多态性 多态性作业
- 第6周 多态性 多态性测验
- 第7周 多重继承 小测验
- 【作业】第7周 多重继承 继承小作业
- 第8周 运算符重载(1) 运算符重载测试(1)
- 【作业】第8周 运算符重载(1) 运算符重载作业(1)
- 第9周 运算符重载(2) 运算符重载测验(2)
- 【作业】第9周 运算符重载(2) 运算符重载作业(2)
- 第10周 函数模板 函数模板测验
- 【作业】第10周 函数模板 函数模板作业
- 第11周 类模板 类模板测验
- 【作业】第11周 类模板 类模板作业
- 【作业】第13周 C++标准库(2) C++标准库作业
- 第13周 C++标准库(2) C++标准库测验
本答案对应课程为:点我自动跳转查看
本课程起止时间为:2021-02-28到2021-06-30
本篇答案更新状态:已完结
第1周 类和对象 类和对象测验题
1、 问题:关于面向对象的程序设计方法,下列说法正确的是______。
选项:
A:"封装性"指的是将不同类型的相关数据组合在一起,作为一个整体进行处理
B:"多态性"指的是对象的状态会根据运行时要求自动变化
C:基类的私有成员在派生类的对象中不可访问,也不占内存空间
D:在面向对象的程序设计中,结构化程序设计方法仍有着重要作用
答案: 【在面向对象的程序设计中,结构化程序设计方法仍有着重要作用】
2、 问题:在C++中,实现封装性需借助______。
选项:
A:枚举
B:类
C:数组
D:函数
答案: 【类】
3、 问题:下列关于类和对象的叙述中,错误的是______。
选项:
A:一个类只能有一个对象
B:对象是类的具体实例
C:类是对某一类对象的抽象
D:类和对象是一种数据类型与变量的关系
答案: 【一个类只能有一个对象】
4、 问题:以下关键字不能用来声明类的访问权限的是______。
选项:
A:public
B:static
C:protected
D:private
答案: 【static】
5、 问题:有如下类声明:class Foo{int bar;};则Foo类的成员bar是______。
选项:
A:公有数据成员
B:公有成员函数
C:私有数据成员
D:私有成员函数
答案: 【私有数据成员】
6、 问题:在C++面向对象程序设计框架中,______是程序的基本组成单元。
答案: 【(以下答案任选其一都对)类;
class】
7、 问题:在面向对象的程序设计中,将数据和处理数据的操作封装成一个整体就定义了一种事物的类型,称作"类"。类是一种抽象的概念,属于该类的一个实例叫做"______"。
答案: 【对象】
8、 问题:与指针成员访问表达式p->name等价的表达式是______。
答案: 【(*p).name】
9、 问题:有如下类声明:class MyClass { int i; private : int j; protected :int k; public : int m,n;};其中,私有成员的数量为______。
答案: 【(以下答案任选其一都对)2;
两个;
2个】
【作业】第1周 类和对象 类和对象作业
1、 问题:设计一个 Rectangle 类数据成员包含height和width;成员函数包含:void set(double w, double h); // 设置边长 double getWidth(); // 取矩形宽double getHeight(); // 取矩形高 double area(); // 计算矩形面积 double perimeter(); // 计算矩形周长
评分规则: 【 正确定义数据成员
正确声明各成员函数
正确定义各成员函数
】
2、 问题:作业2 分析并设计一个立方体类CCube:1.描述一个立方体,可以用哪些数据来确定?2.对立方体可以做哪些操作?3.用C++的类来封装立方体的数据和操作,并实现各操作;4.对立方体类进行测试。
评分规则: 【 完成立方体类CCube的框架
实现立方体类CCube的各成员函数
完成main函数对立方体类CCube进行测试
】
3、 问题:某公司决定为员工普涨7.6%的工资,同时按新标准补发前6个月工资,写一个程序输入员工去年的年薪,输出应补发的金额、新的年薪。请用面向对象程序设计方法解决该问题。思考:(1)如果用结构化程序设计方法如何实现?(2)借此对面向对象程序设计方法和结构化程序设计方法进行比较。
评分规则: 【 完成工资涨薪类的框架
实现工资涨薪类的成员函数
完成对工资涨薪类的测试
】
【作业】第2周 构造函数和析构函数 构造函数和析构函数作业
1、 问题:设计一个动态整型数组类 CArray ,并对CArray类进行测试数据成员:int *vec; // 动态数组指针int size; //动态数组规模成员函数:publicCArray(int n); // 构造函数,构造规模为n的数组~CArray(); //析构函数,释放动态数组空间 int length(); // 取数组元素个数int get(int i); // 取数组第i个元素void set(int i, int value); // 设置数组第i个元素int getMax(); // 取数组最大元素int getMin(); // 取数组最大元素 void print(); //输出动态数组的所有元素
评分规则: 【 头文件和代码框架
正确定义数据成员
正确声明成员函数
正确定义成员函数
】
2、 问题:设计一个时间Time类,并对Time类进行测试数据成员:小时、分钟、秒操作:构造函数、设置新时间、获取当前时间、时间走1秒、时间走k秒、输出当前时间等
评分规则: 【 时间类的框架设计
时间类的成员函数实现
时间类的测试代码,即main函数
】
3、 问题:设计一个手机类MobilePhone类,并对MobilePhone类进行测试。要求:1)分析手机类MobilePhone的数据成员可以有哪些?2)分析手机类MobilePhone的操作(成员函数)可以有哪些?(要有构造函数)3)设计出手机类MobilePhone;4)实现手机类MobilePhone的成员函数;5)对手机类MobilePhone进行测试,即设计main函数。
评分规则: 【 设计手机类MobilePhone的框架
实现手机类MobilePhone的成员函数
对手机类MobilePhone进行测试
】
第2周 构造函数和析构函数 构造函数与析构函数测试
1、 问题:有以下类定义class MyClass{public:MyClass(){cout<<1;}};则执行语句MyClass a,b[2],*p[2];后,程序的输出结果是______。 A:11 B:111 C:1111 D:11111
选项:
A:11
B:111
C:1111
D:11111
答案: 【111】
2、 问题:关于类的概念下列说法正确的是______。
选项:
A:类和结构体是同一个概念
B:类的数据成员外界都不可访问
C:类可以没有显式的构造函数
D:类一定要有显式的析构函数
答案: 【类可以没有显式的构造函数】
3、 问题:有如下两个类的定义class AA{};class BB{AA v1,v2;BB v3;int v4;};其中有一个成员变量的定义是错误的,这个变量是_______。
选项:
A:v1
B:v2
C:v3
D:v4
答案: 【v3】
4、 问题: Sample是一个类, 定义如下class Sample{ int val;public: Sample(int v):val(v){}};执行下面语句后,调用Sample类的构造函数的次数是_。Sample a[3],*p=new Sample;
选项:
A:0
B:2
C:3
D:4
答案: 【4】
5、 问题:有如下程序:class Name{ char name;public: Name( ):name(NULL){} Name(char fname)//将fname所指字符串拷贝到name所指向的存储空间 { name=____ ; strcpy(name,fname); } ~Name(){delete[]name;}};横线处应填写的表达式是______。
选项:
A:new char[strlen(fname)+1]
B:char[strlen(fname)+1]
C:char[strlen(fname)]
D:new char[sizeof(fname)]
答案: 【new char[strlen(fname)+1] 】
6、 问题:有如下定义:class MA{ int value;public: MA(int n=0):value(n){}};MA *ta,tb;其中MA类的对象名标识符是______。
答案: 【tb】
7、 问题:己知下列程序的输出结果是42,请将画线处缺失的部分补充完整。#include<iostream>using namespace std;class Foo{ int value;public: Foo():value(0){} void setValue(int value) {______=value;} //给Foo的数据成员value赋值 void print(){cout<<value;}};int main(){ Foo f; f.setValue(42); f.print(); return 0;}
答案: 【(以下答案任选其一都对)this->value;
Foo::value;
(*this).value】
8、 问题:1、插入排序算法的主要思想是:每次从未排序序列中取出的一个数据,插入到已排序序列中的正确位置。InsertSort类的成员函数sort()实现了插入排序算法。请将画线处缺失的部分补充完整。class InsertSort{public: InsertSort(inta0,int n0):a(a0),n(n0){} //参数a0是某数组首地址,n是数组元素个数void sort(){//此函数假设已排序序列初始化状态只包含a[0],未排序序列初始为a[1] …a[n-1] for(int i=1;i<n;++i){ int t=a[i]; int j; for(______;j>0;–j){ if(t>=a[j-1])break; a[j]=a[j-1]; } a[j]=t; }}protected: inta,n; //指针a用于存放数组首地址,n用于存放数组元素个数};
答案: 【j=i】
【作业】第3周 堆与拷贝构造函数 拷贝构造函数作业
1、 问题:在上一次作业的时间类Time中,添加拷贝构造函数,并对拷贝构造函数进行测试。数据成员:int hour,minute,second; // 时,分,秒成员函数:publicTime(int h,int m,int s); // 构造函数,构造时间的时,分,秒Time(Time&t); //拷贝构造函数~Time(); //析构函数 void set(int h,int m,int s); // 设置新的时间int getHour(); // 取小时int getMinute(); // 取分钟 int getSecond(int i); // 取秒数void next(); //时间走1秒void print(); //输出当前时间
评分规则: 【 时间类Time的框架
时间类Time的拷贝构造函数实现
时间类Time的拷贝构造函数的测试
】
2、 问题:在上一次作业动态整型数组类 CArray 中,添加深拷贝构造函数设计一个动态整型数组类 CArray ,并对CArray类进行测试数据成员:int *vec; // 动态数组指针int size; //动态数组规模成员函数:publicCArray(int n); // 构造函数,构造规模为n的数组CArray (CArray &arr); //拷贝构造函数~CArray(); //析构函数,释放动态数组空间 int length(); // 取数组元素个数int get(int i); // 取数组第i个元素void set(int i, int value); // 设置数组第i个元素int getMax(); // 取数组最大元素int getMin(); // 取数组最大元素 void print(); //输出动态数组的所有元素
评分规则: 【 带拷贝构造函数的动态整型数组类 CArray 的框架
带拷贝构造函数的动态整型数组类 CArray 的成员函数实现
带拷贝构造函数的动态整型数组类 CArray 的测试
】
第3周 堆与拷贝构造函数 拷贝构造函数测试
1、 问题:有如下程序:#include<iostream>using namespace std;class A { public: A(int i=0):r(i){} A(A&a){ r=a.r;cout<<1;} void print() {cout<<r;}private: int r; };void fun(A a){ a.print();}A fun(){ A a(2); return a;}int main(){ A a1(2),a2(a1),a3,a4; a3=fun(); a4=a1; fun(A(6)); cout<<endl; return 0;}运行此程序时,类A的拷贝构造函数执行的次数是_____。
选项:
A:0
B:2
C:3
D:4
答案: 【3】
2、 问题:有如下程序#include<iostream>using namespace std;class MyClass{public: MyClass(int x):val(x){} void print()const{cout<<"const:val="<<val<<"\t";} void print(){cout<<"val="<<val<<"\t";}private: int val;};int main(){ const MyClass obj1(10); MyClass obj2(20); obj1.print(); obj2.print(); return 0;} 程序的输出结果是__。
选项:
A:val=10 const :val=20
B:const :val=10 const :val=20
C:const :val=10 val=20
D:val=10 val=20
答案: 【const :val=10 val=20】
3、 问题:拷贝构造函数使用的场合有___。
本文章不含期末不含主观题!!
本文章不含期末不含主观题!!
支付后可长期查看
有疑问请添加客服QQ 2356025045反馈
如遇卡顿看不了请换个浏览器即可打开
请看清楚了再购买哦,电子资源购买后不支持退款哦