10-1 派生与继承

本文介绍了一个基于C++的简单直线类的设计与实现过程。该直线类使用了两个端点来定义,并且能够计算直线长度和输出相关信息。文章通过具体的代码示例展示了如何利用已有的坐标点类来构建直线类,包括构造函数、成员函数的定义及其使用方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

* 程序的版权和版本声明部分

* Copyright (c) 2012, 烟台大学计算机学院学生

 * All rights reserved

* 文件名称:在下面一段类的定义中,需要填充的函数由注释内容给出了功能

* 作 者: 张传新

* 完成日期: 2012 年 4 月 20 日

* 版 本 号: 1.0

* 对任务及求解方法的描述部分

* 输入描述:

* 问题描述: 在下面一段类的定义中,需要填充的函数由注释内容给出了功能

* 程序输出: ......

* 程序头部的注释结束

*/

#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(); //输出直线的两个端点和直线长度 
}; 


//构造函数,分别用参数初始化对应的端点及由基类属性描述的中点 
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());//计算直线的长度 
}

//输出直线的两个端点和直线长度
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; 
} 

int main() 
{ 
	Point ps(-2,5),pe(7,9); 
	Line l(ps,pe); 

        l.PrintL(); //输出直线l的信息 
	l.PrintP(); //输出直线l中点的信息 

	system("pause"); 

	return 0; 
}
加黑部分为所填内容
运行结果:


感言:

把自己以后赚来的money设为私有,自己花!!!大笑

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值