程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> C++入門知識 >> 項目2-成員函數、友元函數和一般函數之區別 點類

項目2-成員函數、友元函數和一般函數之區別 點類

編輯:C++入門知識

[cpp] 
/* 
* Copyright (c) 2013, 煙台大學計算機學院                     
* All rights reserved.                     
* 文件名稱:test.cpp                     
* 作者:樊露露                    
* 完成日期:2013 年 4 月 15 日                     
* 版本號: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(CPoint &);  
    friend double distance2(CPoint &, CPoint &) ; 
    double getX(){return x;} 
    double getY(){return y;} 
}; 
 
double distance3(CPoint &,CPoint &) ;//定義一般函數  
 
double CPoint::distance1(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(10,13), p2(-5,6); 
    cout<<"1. "<<p1.distance1(p2)<<endl; 
    cout<<"2. "<<distance2(p1,p2)<<endl; 
    cout<<"3. "<<distance3(p1,p2)<<endl; 
    system("pause"); 
    return 0; 

/*
* Copyright (c) 2013, 煙台大學計算機學院                    
* All rights reserved.                    
* 文件名稱:test.cpp                    
* 作者:樊露露                   
* 完成日期:2013 年 4 月 15 日                    
* 版本號: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(CPoint &);
 friend double distance2(CPoint &, CPoint &) ;
 double getX(){return x;}
 double getY(){return y;}
};

double distance3(CPoint &,CPoint &) ;//定義一般函數

double CPoint::distance1(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(10,13), p2(-5,6);
 cout<<"1. "<<p1.distance1(p2)<<endl;
 cout<<"2. "<<distance2(p1,p2)<<endl;
 cout<<"3. "<<distance3(p1,p2)<<endl;
 system("pause");
 return 0;
}
 

\ 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved