1. 程式人生 > >第七週專案1-點類-一般函式

第七週專案1-點類-一般函式

問題及程式碼:

/*
 *Copyright (c) 2016,煙臺大學計算機學院
 *All rights reserved.
 *檔名稱:zwj.cpp
 *作    者:張偉晶
 *完成日期:2016年4月9日
 *版 本 號:v1.0
 *
 *問題描述:用一般函式設計點類求兩點之間的距離
 *輸入描述:
 *程式輸出:兩點間距離
 */
#include<iostream>
#include<cmath>
using namespace std;

class CPoint
{
private:
    double x;  // 橫座標
    double y;  // 縱座標
 public:
    CPoint(double xx=0,double yy=0):x(xx),y(yy){}
    double  getx(){return x;}
    double  gety(){return y;}
    //   friend double line(CPoint &p1,CPoint &p2);  //友元函式的宣告

};
double line(CPoint &p1,CPoint &p2)
{
    double x,y;
    x=(p1.getx()-p2.getx());
    y=(p1.gety()-p2.gety());
    return sqrt(x*x+y*y);
}

/*
class Line
{
public:
    Line(CPoint xp1,CPoint xp2);
    Line (Line &l);
    double getlen(){return len;}
private:
    CPoint p1,p2;
    double len;
};


double line(CPoint &p1,CPoint &p2)
{
    double x=p1.x-p2.x;
    double y=p1.y-p2.y;
    return sqrt(x*x+y*y);
}
*/
int main()
{
    CPoint p1(1,1),p2(4,6.2);
    // Line line(p1,p2);
    cout<<"p1為:("<<p1.getx()<<","<<p1.gety()<<")"<<endl;
    cout<<"p2為:("<<p2.getx()<<","<<p2.gety()<<")"<<endl;
    cout<<"兩點間距離為:"<<line(p1,p2)<<endl;
    return 0;
}

執行結果:

知識點總結:

一般函式呼叫類中的成員。

學習心得:

一般函式訪問類中的函式,需要公共介面。