他来了他来了
第一题:
由POINT类派生CIRCLE类,完成类的定义并验证。(10分)
题目内容:

首先定义一个类POINT,有两个int型的保护数据成员x、y表示该类对象在二维坐标系中的坐标位置,定义如下三个公有成员函数:

(1) 构造函数:设置点的初始值;

(2) 成员函数change改变坐标位置

(3) 成员函数show显示点的位置,具体输出形式请参考下面的输出提示;cout<<"("<<x<<","<<y<<")"<<endl;

然后,以类POINT为基类定义派生类CIRCLE,其中增加一个私有数据成员int r表示该圆的半径,定义如下两个公有成员函数:

(1) 构造函数:负责调用基类的构造函数及为本类的半径成员初始化

 (2)重新定义show函数显示圆心的位置及半径的值,

编程提示:main函数的代码如下,请原样复制到你的程序中

int main ( ){POINT p (2, 3);CIRCLE c (3, 4, 5);cout<<"original p:\n";p.show ();p.change (20,30);cout<<"changed p:\n";p.show ();cout<<"original c:\n";c.show ( );c.change (30,40);cout<<"changed c:\n";c.show ( );return 0;}

参考答案

#include<iostream>
using namespace std;
class POINT
{protected:int x;int y;public:POINT(int x1,int y1);void show();void change(int x2,int y2);};
POINT::POINT(int x1,int y1)
{x=x1;
y=y1;
}
void POINT::change(int x2,int y2)
{x=x2;
y=y2;
}
void POINT::show()
{cout<<"("<<x<<","<<y<<")"<<endl;
}
class CIRCLE:public POINT
{public:int r;void show();
CIRCLE(int i = 0, int j = 0, int k = 0)
: POINT(i, j), r(k) {}} ;void CIRCLE::show(){cout<<"the center of the circle is:\n";
POINT::show( );
cout<<"the radius is:"<<r<<endl;}int main ( ){POINT p (2, 3);CIRCLE c (3, 4, 5);cout<<"original p:\n";p.show ();p.change (20,30);cout<<"changed p:\n";p.show ();cout<<"original c:\n";c.show ( );c.change (30,40);cout<<"changed c:\n";c.show ( );return 0;}

第二题
虚基类的应用。(10分)
题目内容:

图5-13(见教材p138)是一个多重继承的类继承关系示意图,各类的主要数据成员有说明,请自己定义合理的成员函数,编程实现该继承关系的程序,并定义一个在职研究生对象,先输入相关信息,再输出。

关于数据成员:

数据类Data:成员string name,保存姓名;

教师类Teacher:增加成员float sal,保存工资;

学生类Student:增加成员string id,保存学号;

研究生类Postgrad:增加成员 string dn,保存系别;

教师中的在职研究生类Tpost:不另外定义成员。
参考代码:

#include<iostream>
using namespace std;
class Data
{protected:string name;public:Data(string a):name(a){}
};
class Teacher:public virtual Data
{protected:float sal;public:Teacher(string a,float b):Data(a),sal(b){}
};
class Student:public virtual Data
{protected:string id;public:Student(string a,string b):Data(a),id(b){}
};
class Postgrad:public Student
{protected:string dn;public:Postgrad(string a,string b,string c):Data(a),Student(a,b),dn(c){}
};
class Tpost:public Teacher,public Postgrad
{public:Tpost(string n,float s,string i,string d):Data(n),Teacher(n,s),Postgrad(n,i,d){}
};
int main()
{string name,id,dn;float sal;cin>>name>>id>>dn>>sal;Tpost tp(name,sal,id,dn);cout<<"The teacher and postgraduate:"<<endl;cout<<"name="<<name<<endl;cout<<"id="<<id<<endl;cout<<"dn="<<dn<<endl;cout<<"sal="<<sal<<endl;
}

由于题目实在太长,过程太过繁琐实际代码,但是我惊喜的发现,这道题可以通过偷鸡的方法解决(作者不讲武德),所以作者下面给出的答案不具备参考学习价值,大家应付作业了事

#include<iostream>
#include<string>
using namespace std;
int main()
{string name;
string id;
float sal;
string dn;
cin>>name>>id>>dn>>sal;
cout<<"The teacher and postgraduate:"<<endl;
cout<<"name="<<name<<endl;cout<<"id="<<id<<endl;cout<<"dn="<<dn<<endl;cout<<"sal="<<sal<<endl;
}

求点赞啊

南京邮电大学MOOC高级程序语言设计(C++)第五章编程题答案相关推荐

  1. 哈工大c语言编程题中国大学mooc第四周,中国大学MOOC哈工大C语言程序设计精髓第六周编程题答案.doc...

    下面代码的功能是将百分制成绩转换为 5 分制成绩,具体功能是: 如果用户输入的是 非法 字符或者不在合理区间内的数据 (例如输入的是 a,或者 102 ,或-45 等),则程序输出 Input err ...

  2. 【全国计算机等级考试二级教程——C语言程序设计(2021年版)编程题答案-第9章】

    全国计算机等级考试二级教程--C语言程序设计(2021年版) 编程题答案(第9章): [9.27] 输入一行数字字符,请用数组元素作为计数器来统计每个数字字符的个数.用下标为0的元素统计字符'0'的个 ...

  3. 【全国计算机等级考试二级教程——C语言程序设计(2021年版)编程题答案-第7章】

    全国计算机等级考试二级教程--C语言程序设计(2021年版) 编程题答案(第7章): [7.14] 下面的fun函数用以判断n是否是素数,fun函数中有逻辑错,请调试改正. int fun (int ...

  4. 【全国计算机等级考试二级教程——C语言程序设计(2021年版)编程题答案-第8章】

    全国计算机等级考试二级教程--C语言程序设计(2021年版) 编程题答案(第8章): [8.17] 请编写函数,其功能是对传送过来的两个浮点数求出和值与差值,并通过形参传送回调用函数. #includ ...

  5. python第五章课后题答案_python程序设计基础(嵩天)第五章课后习题部分答案

    原博文 2019-10-13 13:50 − 第五章p1515.2:实现isodd()函数,参数为整数,如果参数为奇数,返回true,否则返回false.def isodd(s): x=eval(s) ...

  6. python语言程序设计编程题_《python语言程序设计》_第一章编程题

    题目1.1 :显示"welcome to python " 答案:print('welcome to python') 题目1.2:显示"welcome to pytho ...

  7. 吉林大学超星慕课《高级程序语言设计》实验06 递归程序设计(2020级)

    代码仅供参考,欢迎一起交流! 1 题目名称:排列组合 2 题目名称:Hermite多项式 3 题目名称:Ackerman函数 4 题目名称:最大公因数 5 题目名称:顺序检索 6 题目名称:最大元素 ...

  8. 头歌教学实践平台(高级程序语言设计(c))

    目录 一.顺序结构程序(二) 1.输出字符的ASCII码 2.看看你的成绩 3.相反次序重新组合 4.一元二次方程的根 二.选择结构程序设计 1.排序 2.选择结构-闰年判断 3.选择结构-分段函数问 ...

  9. 2020南京邮电大学Mooc—在线期末考试客观卷

  10. 《python程序语言设计》第2章第15题几何正六边形面积。用def和class来完成

    2.15 <全国计算机等级考试二级教程python print(""" 2022-11-27 021501version """)cl ...

最新文章

  1. 解析Erlang日志组件lager的lager_transform模块
  2. boost::units模块实现异构单元片段
  3. AlarmManager使用注意事项
  4. Canvas Clock
  5. Unity.Interception System (2.0)
  6. Kubernetes—如何批量删除对象资源?(二十三)
  7. 【hihocoder 1499】A Box of Coins
  8. Nginx 配置一个虚拟站点
  9. 5天玩转C#并行和多线程编程 —— 第三天 认识和使用Task
  10. cv.threshold()
  11. bt torrent文件
  12. RF Python扩展测试库
  13. iceman写的关于Debug API的文章,特别是关于CONTEXT结构的描述,有空再翻译(转贴)
  14. 计算机控制系统第二章答案,计算机控制系统习题参考答案--第2章
  15. 学校计算机大赛的工作总结,工作总结之中国大学生计算机设计大赛参赛经验与总结...
  16. vue + ts 项目中Model的用法
  17. stack overflow -最好的编程技术论坛!
  18. 【Ware】免费的格式转换软件推荐
  19. 数码印花为何打印精度太高,成品却越不清晰?
  20. 地下水分析测试项目与方法(无机部分)

热门文章

  1. 被裁掉的大龄程序员,为什么不联合起来成立一个专收大龄程序员的公司?
  2. 如何使用计算机对文件修改密码,文件夹怎么设置密码?怎么给文件夹设置密码?...
  3. 射频信号发生器的使用以及相关中心频率,载波,调制波术语解释
  4. HTML+CSS期末网页课设——游戏宣传网页(全部源码)
  5. java 实现matlab spline_关于MATLAB中spline函数
  6. Teigha 40010 保存设置Wipeout时的边界显示问题
  7. Robust Medical Instrument Segmentation Challenge 2019拜读
  8. oracle添加redo,添加redolog组成员
  9. 概率算法中的Monte carlo算法
  10. xposed框架报错安装不上解决办法