第七週實驗報告(2)

* (程序頭部註釋開始)
* 程序的版權和版本聲明部分
* Copyright (c) 2011, 煙臺大學計算機學院學生
* All rights reserved.
* 文件名稱:設計一個Time類。
* 作 者: 王琦
* 完成日期: 2012 年 04 月02 日
* 版 本 號: 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 distance1(const CPoint &); 
    friend double distance2(CPoint &, CPoint &) ;  
    double getX() const {return x;}  
    double getY() const {return y;}  
};  
  
double distance3(CPoint &,CPoint &) ;  
  
double CPoint::distance1(const CPoint &p)   
{  
    double dx=(x-p.x), dy=y-p.y;   
    return sqrt(dx*dx+dy*dy);  
}  
  
double distance2(CPoint &p1,CPoint &p2)   
{  
    double dx=(p1.x-p2.x), dy=p1.y-p2.y;   
    return sqrt(dx*dx+dy*dy);  
}  
  
double distance3(CPoint &p1,CPoint &p2)   
{  
    double dx=(p1.getX()-p2.getX()), dy=p1.getY()-p2.getY();   
    return sqrt(dx*dx+dy*dy);  
}  
  
int main()  
{   CPoint p1(9,3), p2(4,-6);  
    cout<<"1. "<<p1.distance1(p2)<<endl;  
    cout<<"2. "<<distance2(p1,p2)<<endl;  
    cout<<"3. "<<distance3(p1,p2)<<endl;  
    system("pause");  
    return 0;  
}  


*程序運行:

*感想:加const是爲了防止數據的意外修改,而double getX() const {return x;} 
    double getY() const {return y;}  這兩段是設置公共接口,只取值而不改變。另外應該注意的是在聲明和定義時,後面所帶的形參表列格式一定要一致。
發佈了38 篇原創文章 · 獲贊 0 · 訪問量 2萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章