1. 程式人生 > >第十一週上機專案三點類派生直線類

第十一週上機專案三點類派生直線類

/*
*程式的版權和版本宣告部分:
*Copyright(c)2013,煙臺大學計算機學院學生 .
*All rights reserved.
*作者:李家豪
*完成日期:2014年5月13點.
*版本號:v0.1。
*問題描述:字串除了用C++擴充的string型別外,按C語言的傳統,還用char *表示。請將類宣告中
          的string全部改為char *後,重新寫一遍程式(此時的區別是,類中有指標成員,構造和
          解構函式需要考慮深複製的問題了。)
*程式輸入:
*程式輸出:
*問題分析:
*演算法設計:
*我的程式:
*/
#include<iostream>
#include<Cmath>
using namespace std;
class Point //定義座標點類
{
public:
    Point():x(0),y(0) {};
    Point(double x0, double y0):x(x0), y(y0) {};
    double getX()
    {
        return x;
    }
    double getY()
    {
        return y;
    }
    void PrintPoint(); //輸出點的資訊
protected:
    double x,y;   //點的橫座標和縱座標
};
void Point::PrintPoint()
{
    cout<<"Point:("<<x<<","<<y<<")";    //輸出點
}

class Line: public Point   //利用座標點類定義直線類, 其基類的資料成員表示直線的中點
{
public:
    Line(Point pts, Point pte);  //建構函式,用初始化直線的兩個端點及由基類資料成員描述的中點
    double Length();    //計算並返回直線的長度
    void PrintLine();   //輸出直線的兩個端點和直線長度
private:
    class Point pts,pte;   //直線的兩個端點
};
//建構函式,分別用初始化直線的兩個端點及由基類資料成員(屬性)描述的中點
Line::Line(Point pt1, Point pt2):Point((pt1.getX()+pt2.getX())/2,(pt1.getY()+pt2.getY())/2)
{
    pts=pt1;
    pte=pt2;
}
double Line::Length()  //計算並返回直線的長度
{
    double dx = pts.getX() - pte.getX();
    double dy =pts.getY() - pte.getY();
    return sqrt(dx*dx+dy*dy);
}
void Line::PrintLine()
{
    cout<<" 1st ";
    pts.PrintPoint();
    cout<<endl;
    cout<<" 2nd ";
    pte.PrintPoint();
    cout<<endl;
    cout<<" The Length of Line: "<<Length()<<endl;
}
int main()
{
    Point ps(-2,5),pe(7,9);
    Line l(ps,pe);
        cout<<"About the Line: "<<endl;
    l.PrintLine();  //輸出直線l的資訊
    cout<<" The middle point of Line is: ";
    l.PrintPoint(); //輸出直線l中點的資訊
    return 0;
}


執行結果:

體會心得:學而不思則罔,,,,

相關推薦

上機專案派生直線

/* *程式的版權和版本宣告部分: *Copyright(c)2013,煙臺大學計算機學院學生 . *All rights reserved. *作者:李家豪 *完成日期:2014年5月13點. *版本號:v0.1。 *問題描述:字串除了用C++擴充的string型別外,按

上機專案4派生直線

/* *Copyright (c) 2015, 煙臺大學計算機學院 *All rights reserved. *檔名稱:text.cpp *作者:陳棟樑 *完成日期:2015年 5月 20日 *版本號:v1.0 * */ #include<iostr

上機專案3 派生直線

定義點類Point,並以點類為基類,派生出直線類Line,從基類中繼承的點的資訊表示直線的中點。請閱讀下面的程式碼,並將缺少的部分寫出來。#include<iostream> #include<Cmath> using namespace s

實踐專案8————派生直線

問題及程式碼: /*copyright(c)2016.煙臺大學計算機學院 * All rights reserved, * 檔名稱:text.Cpp * 作者:吳敬超 * 完成日期:2016年5月10

上機實踐專案——派生直線

/* *程式的版權和版本宣告部分: *Copyright(c)2013,煙臺大學計算機學院學生 *All rights reserved. *檔名稱:點類派生直線類 *作者:劉中林 *完成日期:20

上機實踐專案 專案1--圓-圓柱的設計(3)

問題及程式碼: 【專案 - 點-圓-圓柱類族的設計】 按以下的提示,由基類的設計和測試開始,逐漸地完成各個類的設計,求出圓格柱體的表面積、體積並輸出並且完成要求的計算任務: (1)先建立一個Point(點)類,包含資料成員x,y(座標點),實現需要的成員函式,並設計main

上機實踐專案 專案4-教師兼職幹部類

問題及程式碼: 【專案 - 教師兼幹部類】分別定義Teacher(教師)類和Cadre(幹部)類,採用多重繼承方式由這兩個類派生出新類Teacher_Cadre(教師兼幹部)。要求: (1)在兩個基類中都包含姓名、年齡、性別、地址、電話等資料成員。 (2)在Teacher類

上機實踐專案——正三角形

01./* 02.*程式的版權和版本宣告部分: 03.*Copyright(c)2013,煙臺大學計算機學院學生 04.*All ri

上機實踐專案-專案4-教師兼幹部類

/*copyright(c)2016.煙臺大學計算機學院 * All rights reserved, * 檔名稱:text.Cpp * 作者:劉濤 * 完成日期:2016年5月9日 * 版本號:vc++6.0 * 問題描述:分別定義Teacher(教師)類和C

上機實踐專案4——族的設計(3)

(3)再以Circle類為直接基類,派生出一個Cylinder(圓柱體)類,再增加資料成員h(高),,以及求圓柱表面積的成員函式area和求圓柱體積的成員函式volume,實現需要的成員函式,並設計ma

上機實踐專案——職員有薪水了(拓展)

/* *程式的版權和版本宣告部分: *Copyright(c)2013,煙臺大學計算機學院學生 *All rights reserved. *檔名稱:職員有薪水了 *作者:劉中林 *完成日期:2014年5月11日 *版本號:v0.1 *對任務及求解方法的描述部分: *輸入

上機實踐專案——儲存班長資訊的學生

/* *程式的版權和版本宣告部分: *Copyright(c)2013,煙臺大學計算機學院學生 *All rights reserved. *檔名稱:儲存班長資訊的學生類 *作者:劉中林 *完成日期

上機實踐專案——專案3-警察和廚師-(2)

/* *Copyright (c)2016,煙臺大學計算機與控制工程學院 *All rights reserved. *檔名稱:main.cpp *作 者:郭永恆 *完成日期:2016

上機實踐專案4——族的設計(2)

(2)以Point為基類,派生出一個Circle(圓)類,增加資料成員r(半徑),以及求面積的成員函式area,實現其他需要的成員函式,設計main函式完成測試; 程式碼 #include<i

上機實踐專案——求兩個數的最大公約數

01./* 02.*程式的版權和版本宣告部分: 03.*Copyright(c)2013,煙臺大學計算機學院學生 04.*All

上機實踐專案2——職員有薪水了(2)

(2)字串除了用C++擴充的string型別外,按C語言的傳統,還可以用char 表示。請將類宣告中的string全部改為char 後,重新寫一遍程式(此時的區別是,類中有指標成員,構造和解構函式需要考

專案1-圖基本演算法庫】

/*   *Copyright  (c)2017,煙臺大學計算機與控制工程學院       *All rights reservrd.       *作者:趙楷文  *完成時間:2017年11月09日       *版本號:v1.0       *問題描述:圖

專案2-操作用鄰接表儲存的圖】

/*   *Copyright  (c)2017,煙臺大學計算機與控制工程學院       *All rights reservrd.       *作者:趙楷文  *完成時間:2017年11月09日       *版本號:v1.0       *問題描述:假

實踐專案(5)——a

問題及程式碼: /*copyright(c)2016.煙臺大學計算機學院 * All rights reserved, * 檔名稱:text.Cpp * 作者:吳敬超 * 完成日期:2016年5月10

實踐專案(4)

問題及程式碼: /*copyright(c)2016.煙臺大學計算機學院 * All rights reserved, * 檔名稱:text.Cpp * 作者:吳敬超 * 完成日期:2016年5月10