zl程序教程

您现在的位置是:首页 >  其他

当前栏目

第10周-任务1-程序填空:直线类继承点类

程序继承 10 任务 直线
2023-09-11 14:15:57 时间

【题目】在下面一段类的定义中,需要填充的函数由注释内容给出了功能

填空完成后的程序如下:

#include iostream 

#include Cmath 

using namespace std;

class Point //定义坐标点类

public:

 double x,y; //点的横坐标和纵坐标

 Point(){x=0;y=0;}

 Point(double x0, double y0) {x=x0; y=y0;} 

 void PrintP(){cout "Point:(" x "," y ")";}

class Line: public Point //利用坐标点类定义直线类, 其基类的数据成员表示直线的中点

private:

 class Point pt1,pt2; //直线的两个端点

public:

 Line(Point pts, Point pte); //构造函数

 double Dx(){return pt2.x-pt1.x;}

 double Dy(){return pt2.y-pt1.y;}

 double Length();//计算直线的长度

 void PrintL(); //输出直线的两个端点和直线长度

//(1)构造函数,分别用参数初始化对应的端点及由基类属性描述的中点

Line::Line(Point pts, Point pte):Point((pts.x+pte.x)/2,(pts.y+pte.y)/2) {pt1=pts;pt2=pte;} //解题指导:此处关键在于其基类初始化时给对参数

double Line::Length(){return sqrt(Dx()*Dx()+Dy()*Dy());};//(2)计算直线的长度

void Line::PrintL()

 cout " 1st ";

 pt1.PrintP();

 cout "\n 2nd ";

 pt2.PrintP();

 cout "\n The middle point of Line: ";

 PrintP();

 cout "\n The Length of Line: " Length() endl; //(3)输出直线长度

int main()

 Point ps(-2,5),pe(7,9);

 Line l(ps,pe);

 l.PrintL(); //(4)输出直线l的信息

 l.PrintP();//(5)输出直线l中点的信息,此处再次体会:派生类的对象调用其基类提供的成员函数

 system("pause");

 return 0;




PTA 7-1 打印三角形拼图 (15 分) 一个正方形可以用两个等边直角三角形拼出来。给定正方形的边长、两个三角形和对角线所用的符号,请你打印出这两个三角形拼出的正方形。
问题描述: 我们给出三角形的高度,通过函数在控制台上打印出一个三角形。右侧代码连续打印了几个大小不同三角形,最后形成了一个阶梯状的连续三角形。
C++第11周(春)项目3 - 点类派生直线类 课程首页在:http://blog.csdn.net/sxhelijian/article/details/11890759,内有完整教学方案及资源链接 【项目3 - 点类派生直线类】定义点类Point,并以点类为基类,派生出直线类Line,从基类中继承的点的信息表示直线的中点。请阅读下面的代码,并将缺少的部分写出来。 #include iostream #include&l
【项目3-分数类中的运算符重载】实现分数类中的运算符重载,在分数类中可以完成分数的加减乘除(运算后再化简)、比较(6种关系)的运算。可以以第5周项目2的代码为基础开始工作。 class CFraction private:
C++第14周项目2 - 形状类族的中的纯虚函数 课程首页地址:http://blog.csdn.net/sxhelijian/article/details/7910565,本周题目链接:http://blog.csdn.net/sxhelijian/article/details/8987478 【项目2】写一个程序,定义抽象基类Shape,由它派生出3个派生类,Circle(圆形)、Rectangle(矩形)、Triangle(三角形
C++第11周项目1、2 - 点类派生出直线类 课程首页地址:http://blog.csdn.net/sxhelijian/article/details/7910565,本周题目链接:http://blog.csdn.net/sxhelijian/article/details/8894095 【项目1】定义点类,并以点类为基类,派生出直线类,从基类中继承的点的信息表示直线的中点。请阅读下面的代码,并将缺少的部分写出来。 #incl
C++第6周项目5 - 多文件组织三角形类 课程首页地址:http://blog.csdn.net/sxhelijian/article/details/7910565,本周题目链接:http://blog.csdn.net/sxhelijian/article/details/8748730 【项目5】将项目4用“一个项目多个文件”的方式实现,其中两个类的声明放在一个.h文件中,每个类的成员函数分别放一个文件,main()函数用一个
贺利坚 烟台大学计算机学院教师,建设系列学习资源,改革教学方法,为IT菜鸟建跑道,让大一的孩子会编程,为迷茫的大学生出主意,一起追求快乐的大学。 著书《逆袭大学:传给IT学子的正能量》,帮助处于迷茫中的大学