0.0712

五煦查题

快速找到你需要的那道考题与答案

中国大学程序设计与算法(三)C++面向对象程序设计_2课后答案(慕课2023完整答案)

17 min read

中国大学程序设计与算法(三)C++面向对象程序设计_2课后答案(慕课2023完整答案)

第一周 从 C 到C++

第一周 测验

1、中国整答下面程序片段哪个没错?
A、大学int n = 4; int & r = n * 5;
B、程序int n = 6; const int & r = n; r = 7;
C、设计算法int n = 8; const int & r1 = n; int & r2 = r1;
D、向对象程序设int n = 8; int & r1 = n; const int r2 = r1;

2、计课下面程序片段输出结果是后答什么? int a = 1,b = 2; int & r = a; r = b; r = 7; cout << a << endl;
A、1
B、案慕案2
C、课完7
D、中国整答8

3、大学下面说法哪种是程序对的?
A、常引用所引用的设计算法变量,其值不能被修改
B、向对象程序设不能通过常量指针,计课去修改其指向的变量
C、常量指针一旦指向某个变量,就不能再指向其他变量
D、1+1 = 3

4、表达式 “new int”的返回值类型是:
A、int
B、int *
C、int &
D、void

5、下面小段程序,哪个是正确的:
A、char * p = new char[10]; p[0] = 'K'; delete [] p;
B、int *p = new int[25]; p[10] = 100; delete p
C、char * p = new int; p = 'a'; delete p;
D、int * p = new char[20];

6、下面说法正确的是:
A、多个重载函数的参数个数必须不同。
B、两个函数,参数表相同,返回值类型不同,它们是重载关系。
C、调用一个第二个和第三个参数都有有缺省值的函数时,可以不写第二个实参而写第三个实参。
D、使用内联函数的目的是提高程序的运行速度。

7、简单的swap 通过码是 ( 请参考公告中的“关于编程作业的说明”完成编程作业(请注意,编程题都要求提交通过码,在openjudge上提交了程序并且通过以后,就可以下载到通过码。)

8、难一点的swap的通过码是

9、好怪异的返回值 通过码是

10、神秘的数组初始化 通过码是

第二周 类和对象基础

第二周测验

1、有类A如下定义: class A { int v; public: A ( int n) { v = n; } }; 下面哪条语句是编译不会出错的?
A、A) A a = new A();
B、B) A a2;
C、C) A * p = new A();
D、D) A a1(3);

2、假设 A 是一个类的名字,下面的语句生成了几个类A的对象? A * arr[4] = { new A(), NULL,new A() };
A、A) 1
B、B) 2
C、C) 3
D、D) 4

3、假设A 是一个类的名字,下面哪段程序不会用到A的复制构造函数?
A、A) A a1,a2; a1 = a2;
B、B) void func( A a) { cout << "good" << endl; }
C、C) A func( ) { A tmp; return tmp; }
D、D) A a1; A a2(a1);

4、类A定义如下: class A { int v; public: A(int i) { v = i; } A() { } }; 下面哪段程序不会引发类型转换构造函数被调用?
A、A) A a1(4)
B、B) A a2 = 4;
C、C) A a3; a3 = 9;
D、D) A a1,a2; a1 = a2;

5、假设A是一个类的名字,下面的程序片段会调用类A的调用析构函数几次? int main() { A * p = new A[2]; A * p2 = new A; A a; delete [] p; }
A、A) 1
B、B) 2
C、C) 3
D、D) 4

6、学生信息处理程序 通过码

7、奇怪的类复制 通过码

8、超简单的复数类 通过码

9、哪来的输出 通过码

第三周 类和对象提高

第三周测验

1、1) 以下说法不正确的是:
A、A) 静态成员函数中不能使用this指针
B、B) this指针就是指向成员函数所作用的对象的指针
C、C) 每个对象的空间中都存放着一个this指针
D、D) 类的非静态成员函数,真实的参数比所写的参数多1

2、2) 下面说法哪个不正确?
A、A) 静态成员函数内部不能访问同类的非静态成员变量,也不能调用同类的非静态成员函数
B、B) 非静态成员函数不能访问静态成员变量
C、C) 静态成员变量被所有对象所共享
D、D) 在没有任何对象存在的情况下,也可以访问类的静态成员

3、3) 以下说法正确的是:
A、A) 成员对象都是用无参构造函数初始化的
B、B) 封闭类中成员对象的构造函数先于封闭类的构造函数被调用
C、C) 封闭类中成员对象的析构函数先于封闭类的析构函数被调用
D、D) 若封闭类有多个成员对象,则它们的初始化顺序取决于封闭类构造函数中的成员初始化列表

4、4) 以下关于友元的说法哪个是不正确的?
A、A) 一个类的友元函数中可以访问该类对象的私有成员
B、B) 友元类关系是相互的,即若类A是类B的友元,则类B也是类A的友元
C、C) 在一个类中可以将另一个类的成员函数声明为友元
D、D) 类之间的友元关系不能传递

5、返回什么才好呢 通过码

6、Big & Base 封闭类问题 通过码

7、编程填空:统计动物数量 通过码

8、这个指针哪来的 通过码

9、魔兽世界之一:备战 通过码

第四周 运算符重载

第四周测验

1、1)如果将 [ ] 运算符重载成一个类的成员函数,则该重载函数有几个参数?
A、A) 0
B、B) 1
C、C) 2
D、D) 3

2、2)以下说法正确的是:
A、A) 成员对象都是用无参构造函数初始化的
B、B) 封闭类中成员对象的构造函数先于封闭类的构造函数被调用
C、C) 封闭类中成员对象的析构函数先于封闭类的析构函数被调用
D、D) 若封闭类有多个成员对象,则它们的初始化顺序取决于封闭类构造函数中的成员初始化列表

3、3)重载“<<”用于将自定义的对象通过cout输出时,以下说法哪个是正确的?
A、A) 可以将"<<"重载为 ostream 类的成员函数,返回值类型是 ostream &
B、B) 可以将"<<"重载为全局函数,第一个参数以及返回值,类型都是 ostream
C、C) 可以将"<<"重载为全局函数,第一个参数以及返回值,类型都是 ostream &
D、D) 可以将"<<"重载为 ostream 类的成员函数,返回值类型是 ostream

4、4)如何区分自增运算符重载的前置形式和后置形式?
A、A) 重载时,前置形式的函数名是 ++ operator,后置形式的函数名是 operator ++
B、B) 后置形式比前置形式多一个 int 类型的参数
C、C) 无法区分,使用时不管前置形式还是后置形式,都调用相同的重载函数
D、D) 前置形式比后置形式多了一个int类型的参数

第五周 继承

第五周测验

1、1) 如果多种事物,有一些共同的特点,又有一些各自不同的特点,如何编写类来代表这些事物比较合适?
A、A) 为每种事物独立编写一个类,各类之间互相无关
B、B) 写一个类代表其中一种事物,代表其他事物的类,都从这个类派生出来
C、C) 概括所有事物的共同特点,写一个基类。然后为每种事物写一个类,都从基类派生而来
D、D) 一共就写一个类,包含所有事物的所有特点,然后用一个成员变量作为标记来区分不同种类的事物

2、2) 以下哪种派生关系是合理的
A、A) 从“虫子”类派生出“飞虫”类
B、B) 从“点”类派生出“圆”类
C、C) 从“狼”类派生出“狗”类
D、D) 从“爬行动物”类派生出“哺乳动物”类

3、3) 派生类和基类有同名同参数表的成员函数,这种现象:
A、A) 叫重复定义,是不允许的
B、B) 叫函数的重载
C、C) 叫覆盖。在派生类中基类的同名函数就没用了
D、D) 叫覆盖。体现了派生类对从基类继承得到的特点的修改

4、4) 以下说法正确的是:
A、A) 派生类可以和基类有同名成员函数,但是不能有同名成员变量
B、B) 派生类的成员函数中,可以调用基类的同名同参数表的成员函数
C、C) 派生类和基类的同名成员函数必须参数表不同,否则就是重复定义
D、D) 派生类和基类的同名成员变量存放在相同的存储空间

5、5) 以下说法正确的是:
A、A) 派生类对象生成时,派生类的构造函数先于基类的构造函数执行
B、B) 派生类对象消亡时,基类的析构函数先于派生类的析构函数执行
C、C) 如果基类有无参构造函数,则派生类的构造函数就可以不带初始化列表
D、D) 在派生类的构造函数中部可以访问基类的成员变量

6、全面的MyString 通过码

7、继承自string的MyString 通过码

8、魔兽世界2 通过码

9、统计动物数量 通过码

第六周 多态

第六周测验

1、看上去像多态 通过码

2、Fun和Do 通过码

3、这是什么鬼delete 通过码

4、怎么又是Fun和Do 通过码

第七周 输入输出和模板

第七周测验

1、简单的SumArray 通过码

2、简单的foreach 通过码

3、简单的Filter 通过码

4、你真的搞清楚为啥 while(cin >> n) 能成立了吗? 通过码

5、山寨版istream_iterator 通过码

6、这个模板并不难 通过码

7、排序,又见排序! 通过码

第八周 标准模板库STL(一)

第八周测验

1、goodcopy 通过码

2、按距离排序 通过码

3、很难蒙混过关的CArray3d三维数组模板类 通过码

4、函数对象的过滤器 通过码

5、白给的list排序 通过码

6、我自己的 ostream_iterator 通过码

7、List 通过码

第九周 标准模板库STL(二)

第九周测验

1、Set 通过码

2、热血格斗场 通过码

3、冷血格斗场 通过码

4、编程填空:数据库内的学生信息 通过码

此处为AI智能助手,无法进行HTML标签输出,请您自行处理。学习通程序设计与算法(三)C++面向对象程序设计_2在前文中,我们已经了解了C++面向对象的一些基础知识,包括类、对象、封装、继承和多态等。在本篇文章中,我们将继续深入学习C++面向对象程序设计的相关知识。1. 类的复制构造函数前文中已经介绍了类的构造函数和析构函数,它们分别用于对象的创建和销毁。除此之外,还有一种特殊的构造函数——复制构造函数。复制构造函数用于在创建一个新的对象时,以另一个同类型对象的值作为初始值。它的函数原型如下:class A{ public: A(const A& obj); // 复制构造函数};其中A& obj是一个常引用,表示需要复制的对象。下面是一个例子,展示了如何使用复制构造函数:class String{ private: char* str; int len; public: String(){ str = NULL; len = 0; } String(const char* s){ len = strlen(s); str = new char[len + 1]; strcpy(str, s); } String(const String& s){ len = s.len; str = new char[len + 1]; strcpy(str, s.str); } ~String(){ if(str){ delete[] str; } }};在上面的例子中,我们创建了一个String类,它包含了一些字符串相关的操作。复制构造函数String(const String& s)用于在创建一个新的String对象时,以另一个String对象s的值作为初始值。2. 运算符重载运算符重载是C++面向对象编程的一个重要特性。它允许我们将原本用于基本数据类型的运算符,扩展到自定义的类类型上。例如,我们可以用加法运算符来实现两个复数的相加。运算符重载的语法如下:返回类型 operator 运算符(形参表){ // 函数体}其中,operator是关键字,用于表示要重载的运算符。返回类型表示运算结果的类型。形参表表示传递给运算符重载函数的参数列表。下面是一个复数类的例子,展示了如何使用运算符重载:class Complex{ private: double real, imag; public: Complex(double r = 0, double i = 0) : real(r), imag(i){ } Complex operator +(const Complex& c){ return Complex(real + c.real, imag + c.imag); }};在上面的例子中,我们创建了一个复数类Complex,它包含了实部和虚部两个成员变量。我们使用构造函数来创建Complex对象,并使用运算符重载函数operator +来实现两个复数的相加。3. 友元函数和友元类前文中,我们已经学习了访问限定符public和private,用于控制类的成员变量和成员函数的访问权限。除此之外,C++还提供了另一种访问控制的方式——友元函数和友元类。友元函数是一个非成员函数,但可以访问类的私有成员。它的声明方式如下:class A{ friend int func(A& obj);};其中,friend关键字用于声明函数func为A类的友元函数。下面是一个例子,展示了如何使用友元函数:class Box{ private: double width; public: Box(double w); friend void showWidth(Box box);};void showWidth(Box box){ cout << \Box width : \ << box.width << endl;}在上面的例子中,我们创建了一个Box类,它包含了一个表示宽度的成员变量。我们使用友元函数showWidth来展示Box对象的宽度,这个函数可以直接访问Box对象的私有成员width。另外,我们还可以将一个类声明为另一个类的友元类,使得它可以访问另一个类的私有成员。友元类的声明方式如下:class A{ friend class B;};其中,friend关键字用于声明B类为A类的友元类。下面是一个例子,展示了如何使用友元类:class Box{ private: double width; public: Box(double w); friend class BigBox;};class BigBox{ private: Box box; public: BigBox(Box b){ box = b; } void showWidth(){ cout << \Box width : \ << box.width << endl; }};在上面的例子中,我们创建了一个Box类和一个BigBox类。我们使用友元类BigBox来访问Box对象的私有成员width。4. 虚函数虚函数是C++中一个重要的概念,它提供了一种多态性的实现方式。在C++中,通过将某个成员函数声明为虚函数,可以使得派生类可以重写这个函数,从而实现多态性。虚函数的声明方式如下:class A{ virtual 返回类型 函数名(形参表) = 0;};其中,virtual关键字用于声明函数为虚函数。= 0表示这个虚函数是一个纯虚函数,它没有实现,只是用于定义接口。下面是一个例子,展示了如何使用虚函数:class Shape{ public: virtual double getArea() = 0;};class Rectangle : public Shape{ private: double width, height; public: Rectangle(double w, double h) : width(w), height(h){ } double getArea(){ return width * height; }};class Triangle : public Shape{ private: double base, height; public: Triangle(double b, double h) : base(b), height(h){ } double getArea(){ return 0.5 * base * height; }};在上面的例子中,我们创建了一个Shape类和两个派生类Rectangle和Triangle。我们将Shape类中的getArea函数声明为虚函数,并在派生类中重写它。通过这种方式,我们可以使用Shape类型的指针指向任意一个派生类的对象,并调用它们各自的getArea函数,从而实现多态性。总结本篇文章我们继续深入学习了C++面向对象程序设计的相关知识。我们学习了类的复制构造函数、运算符重载、友元函数和友元类、虚函数等概念。这些概念都是C++面向对象编程的重要特性,对于掌握C++程序设计非常重要。

关于无形资产,会计准则是如何规定的 (3.5小节)

A.在其他条件相同条件下,利率越高,则一笔资金的终值
B.给下列音节注音标调: 中 华 伟 大\n\n
C.在沟通过程中至少存在着一个发送者和一个接受者。
D.下列有关信号传递原则的说法中不正确的是:


下列哪些内部路由协议支持VLSM()

A.经典动画短片《堕落的艺术》中摄影师军官的工作是:()
B.对唱的视听特点是( )。
C.耐磨性要求的混凝土,应优先选用下列哪种水泥( )。
D.反馈电压(或电流)正比于输出电流,即,则称为电流反馈


为了更容易的设计衬线大写字母,可以按照形状相似性将字母分成()几类

A.干细胞的自我更新能力是通过对称分裂和不对称分裂两种形式进行,但主要是对称分裂。
B.移动运营商、银行、卡组织(或第三方机构)是移动支付供给方的核心参与者
C.已知圆柱被截切后的主视图和左视图,正确的俯视图是( ) A B C
D.德尔斐城邦的保护神是酒神狄奥尼索斯。


民航强国的主要标志是:()。

A.电动雨刮系统控制开关作用是,控制雨刮电机工作在三个工作状态。
B.博科圣地的豪萨语为Boko Haram,大意为
C.在20世纪七十年代出现的色谱方法是( )
D.大数据分析的核心是( )。


首次挖掘出的红陶女塑像是在()地区被发现的。

A.在电影中,讲故事的情节长度就是银幕上放映的时间长度。
B.中药制剂化学成分的多样性是指 ( )
C.T细胞的生物学功能不包括
D.下列对多媒体综合教室教学功能描述错误的是:( )。


半夏泻心汤主治胃胀胃痛的病机是( )

A.强调六经传变不拘于足的医家是()
B.在重载、高速机械轴颈或轴承中,润滑部位宜采用下列润滑方式中的( )。
C.5.根据季节调整睡眠时间,春夏应当:
D.感觉功能恢复评定中2级的临床表现是()。


实验显示,声波传导与什么组织相关( )

A.下列不属于IP3/DAG-PKC信号转导通路的反应是
B.平均聚合度为202的涤纶,其平均分子量 (忽略端基)为( )。
C.装配工艺规程的内容包括()
D.白起指挥的战争歼敌数量超过多少


对财产清查结果进行正确账务处理的主要目的是保证( )。

A.诱导产生IgE的主要细胞因子是:
B.点测光非常适合大面积的白色或者黑色背景下获得精确的曝光。
C.()不是甲骨文的发现者。
D.明代初期,从画院开始,渐渐兴起____________画风。


商夷酿酒酵母一般为活性干酵母,其中活性干酵母主要有( )

A.浅滩是河床底部的一些不同规模的冲积物堆积体。
B.以下污染源中,属于点源的是()
C.有关工资率变动的收入效应描述不正确的一项是
D.测血压时袖带缠得过松可使血压测量值


下列表达式或语句只存在于tcsh中的是:

A.长期借款的利息计入( )。
B.下列有关流土与管涌的概念,错误的说法是( )。
C.下列插花配色方式中属于统一配色的是:
D.以下属于角色行为异常的是:


根据计算机网络覆盖地理范围的大小,网络可分为局域网、城域网和( ).

A.过滤器阻力一般包括滤料阻力和结构阻力。
B.假设检验中,若样本容量足够大,可以使得犯两类错误的概率都尽量地小. ( )
C.膳食纤维的主要生理意义是( )
D.统一指挥原则就是要求每位下属有且仅有一个上级。( )


孔子人生七阶段中说的不惑阶段相当于职业生涯( )阶段。

A.“愤怒出诗人”是正确的说法。()
B.在普通圆柱蜗杆传动中,若其他条件不变而增加蜗杆头数,将使( )。
C.如图所示的齿轮油泵卸压装置,其压紧力由( )和调压螺母控制,并由锁紧螺母固定
D.《临时约法》的内容包括:


若阶方阵满足,则( ).

A.下列哪些案件,经调解达成协议的,无需制作调解书
B.在查找文件时,通配符*与的含义是____。
C.营养液的C母液由( )合在一起配制而成。
D.搬运交通事故伤员( )。


What type of essay is this passage

A.我国社会主要矛盾发生了转化,但没有改变( )
B.银行理财产品按期次性可分为( )。
C.为下列部门选择恰当的翻译Administration Dept.
D.一个电路的等效电路与该电路处处相等。