当前位置:编程学习 > C/C++ >>

项目2-成员函数、友元函数和一般函数之区别 点类

[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;
}
 

\ 
补充:软件开发 , C++ ,
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,