- 1、本文档共28页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
面向对象的程序设计课程设计报告
姓 名:
学 号:
班 级:
院 系: 数学与计算机学院
日 期: 2015.1.3
课程题目
题目1:通过组合和派生构成新的类
本设计题目的任务是使用Point类产生Line类。分别通过组合类及派生类两种方法实现,并要求分别给出使用类模板实现的程序。
本设计题的目的是使学生掌握在不同的实现方法中,如何设计相应的构造函数和拷贝构造函数,进一步理解程序调用它们及析构函数的执行顺序,掌握组合类和派生类。另外本设计题目要让学生进一步掌握和理解类模板的技术及其实现方法。
题目2:成绩管理系统
输入一个班级的学生基本信息(包括学号,姓名,性别,科目),对N门考试的成绩进行管理(例N=5)
要求
用户录入每个学生每门课程的分数;
能够计算每个学生的各门功课总分和平均分,并按总分将成绩排序,显示每个学生的总分和排名;
计算全班各门功课的平均分,显示每门课程中低于平均分的每一个学生的学号,姓名,性别,科目,成绩等信息;
显示每门科目中,成绩在90分以上的学生信息。另外还输出每门科目中不及格的学生信息;
能按姓名或者学号查找,增加,删除和保存各个学生的信息。
设计分析
题目1:
point1,point2?作为point类的对象,两个点确定一条直线。
题目2:
代码设计
题目一:
A:组合类
#includeiostream
#includemath.h
using namespace std;
template class T
class Point
{ protected:
T x;
T y;
public :
Point();
Point(T,T);
Point(PointT );
~Point();
void setX(T);
T getX();
void setY(T);
T getY();
void displayPoint(); };
template class T
PointT::Point()
{ x=0; y=0;
coutPoint 类默认构造函数!endl; }
template class T
PointT::Point(T x,T y)
{ this-x=x; this-y=y;
coutPoint 类带参构造函数!endl; }
template class T
PointT::Point(PointT newPoint)
{ this-x=newPoint.x; this-y=newPoint.y;
coutPoint 类拷贝构造函数!endl; }
template class T
PointT::~Point()
{ coutPoint 类析构函数!endl; }
template class T
void PointT::setX(T x)
{ this-x=x; }
template class T
T PointT::getX()
{ return this-x; }
template class T
void PointT::setY(T y)
{ this-y=y; }
template class T
T PointT::getY()
{ return this-y; }
template class T
void PointT::displayPoint()
{ cout (x,y)endl; }
template class T
class Line
{ private:
PointT point1;
PointT point2;
public: Line();
Line(PointT,PointT);
Line(T,T,T,T);
Line(LineT );
~Line();
void setPoint1(PointT);
PointT getPoint1();
void setPoint2(PointT);
PointT getPoint2();
文档评论(0)