2020 面向对象程序设计(姚迅)(武汉纺织大学) 最新满分章节测试答案
本答案对应课程为:点我自动跳转查看
本课程起止时间为:2020-02-17到2020-06-30
本篇答案更新状态:已完结
【作业】面向对象程序设计 复习一 面向对象程序设计 复习一 作业
1、 问题:定义一个Shape基类,在此基础上派生出Rectangle和Circle类,二者都有GetArea()函数计算对象的面积。通过屏幕提示请用户选择输入矩形长、宽,或者圆的半径,程序算出面积后输出到屏幕。
评分规则: 【 使用类及继承机制
】
2、 问题:利用所学知识编程管理火车票信息:n 火车票分为高铁票、卧铺票、硬座票三种,每种票共有属性为车型、车次、车厢号、里程数。n 其中高铁票、硬座票有座位号信息,每节车厢有17排,每排5个不同座位:A,B,C,D,F。这两种车中同种车不同车次、不同车厢,不同座位号单位里程票价相同,但高铁票和硬座票单位里程票价不同。n 卧铺票每节车厢也是17排,每排有上、中、下铺之分,上、中、下铺单位里程票价不同,票价由低到高。n 在屏幕上显示出每种车型各三个车次,每次车给出不同总里程数,及各种车型乘车位置单位里程票价。n 每次车均只有8节车厢。n 提示用户输入车次、里程数、车厢号,(这三个信息不能超过现有的可供选择范围,如输入某次车里程数不能超过该次车总里程,如果用户输入超过范围,返回提示,请用户重新输入)。程序自动按照先后顺序分配旅客乘车位置,算出票价并在屏幕输出。 (所谓按照先后顺序分配乘车位置的意思:假设第一个用户选择了某次车的某节车厢,则给这用户分配该车次该车厢的第一个位置的票,如某次高铁某车厢第一排A的票,第二个用户再选同次车同车厢时,则分配第一排B的票。卧铺顺序是下铺、中铺、上铺。依此类推)。n 如有未尽信息,大家按自己理解的常识处理。
评分规则: 【 使用类及继承机制
】
【作业】面向对象程序设计 复习二 作业 第二次复习 作业
1、 问题:调试下列程序,写出输出结果,并解释输出结果#include
using namespace std;
int main()
{
void fun(int, int&);
int a, b;
fun(2, a);
fun(3, b);
cout << “a + b = ” << a + b << endl;
return 0;
}
void fun(int m, int &n)
{
n = m + 4;
}
评分规则: 【 写出输出结果
解释输出结果
】
2、 问题:调试下列程序,写出输出结果,并解释输出结果#include
using namespace std;
int &fun(int);
int aa[5];
int main()
{
int a = 5;
for (int i(0); i < 5; ++i)
{
fun(i) = a + i;
}
for (int i = 0; i < 5; ++i)
{
cout << aa[i] << ” “;
}
cout << endl;
return 0;
}
int &fun(int a)
{
return aa[a];
}
评分规则: 【 调试下列程序,写出输出结果
并解释输出结果
】
3、 问题:调试下列程序,指出程序的错误,分析错误原因,在不删除和增加代码行的情况下,改正错误语句,使其正确运行,。#include
using namespace std;
class Aa
{
public:
Aa(int i = 0) { a = i; cout << “Constructor” << a << endl; }
~Aa() { cout << “Destructor” << a << endl; }
void print() { cout << a << endl; }
private:
int a;
};
int main()
{
Aa al(1), a2(2);
al.print();
cout << a2.a << endl;
return 0;
}
评分规则: 【 调试下列程序,指出并分析错误
修改程序,使程序正确运行
】
4、 问题:调试运行下列程序在该程序中,将TPoint类的带有两个参数的构造函数进行修改,在函数体内增添下述语句:cout<<“Constructor is called.”;(1)写出程序的输出结果,并解释输出结果。(2)按下列要求进行调试:在主函数体内,添加下列说明语句:TPoint P4,P5(2);调试程序会出现什么现象?为什么?如何解决?结合运行结果分析如何使用不同的构造函数创建不同的对象。#include
using namespace std;
class TPoint
{
public:
TPoint(int x, int y) { X = x; Y = y; }
TPoint(TPoint &p);
~TPoint() { cout << “Destructoriscalledt”; }
int getx() { return X; }
int gety() { return Y; }
private:
int X, Y;
};
TPoint::TPoint(TPoint &p)
{
X = p.X;
Y = p.Y;
cout << “Copy-initia1ization Constructor is called”;
}
int main()
{
TPoint p1(4, 9);
TPoint p2(p1);
TPoint p3 = p2;
cout << “p3 = (” << p3.getx() << “,” << p3.gety() << “)”;
return 0;
}
评分规则: 【 添加语句(1)
添加语句(2)
】
5、 问题:调试下列程序,写出输出结果,并解释输出结果#include
using namespace std;
class My
{
public:
My(int aa)
{
A = aa;
B -= aa;
}
static void fun(My m);
private:
int A;
static int B;
};
void My::fun(My m)
{
cout << “A=” << m.A << endl;
cout << “B=” << B << endl;
};
int My::B = 100;
int main()
{
My P(6), Q(8);
My::fun(P);
Q.fun(Q);
return 0;
}
评分规则: 【 调试程序,输出结果
分析结果
】
6、 问题:分析并调试程序,完成下列问题:(1)指出所有的构造函数,它们在本程序中分别起什么作用?(2)指出设置默认参数的构造函数。(3)指出友元函数。将友元函数放到私有部分,观察结果是否有变化。(4)写出输出结果,并分析输出结果。#include
include
using namespace std;
class My
{
public:
My(double i = 0)
{
x = y = i;
}
My(double i, double j)
{
x = i;
y = j;
}
My(My&m)
{
x = m.x; y = m.y;
}
friend double dist(My&a, My&b);
private:
double x, y;
};
double dist(My&a,My&b)
{
double dx = a.x – b.x;
double dy = a.y – b.y;
return sqrt(dx * dx + dy * dy);
}
int main()
{
My ml,m2(15),m3(13,14);
My m4(m3);
cout << “The distancel:” << dist(ml,m3) << endl;
cout << “The distance2:” << dist(m2,m3) << endl;
cout << “The distance3:” << dist(m3,m4) << endl;
cout << “The distance4:” << dist(ml,m2) << endl;
return 0;
}
评分规则: 【 每题1分
】
本文章不含期末不含主观题!!
本文章不含期末不含主观题!!
支付后可长期查看
有疑问请添加客服QQ 2356025045反馈
如遇卡顿看不了请换个浏览器即可打开
请看清楚了再购买哦,电子资源购买后不支持退款哦