C++第三次试验2.2

#include <iostream>  
#include <Cmath>
using namespace std;  
class Cpoint  
{  
public:  
    Cpoint(double xx=0,double yy=0):x(xx),y(yy){} 
    void lenth1(Cpoint cp);    //display1是成员函数  
    friend void lenth2(Cpoint cp1,Cpoint cp2);  //display2是友元函数  
    int getx(){return x;}  
    int gety(){return y;}  
private:  
    double x;
    double y;
};  
void Cpoint::lenth1(Cpoint cp)  //成员函数display1的实现,dispaly1前加Time::  
{  
    double l=sqrt((cp.x-x)*(cp.x-x)+(cp.y-<img src="https://img-blog.youkuaiyun.com/20160415212605387" alt="" />y)*(cp.y-y));
	cout<<"两点距离为:"<<l<<endl;
}  
void lenth2(Cpoint cp1,Cpoint cp2) //友元函数dispaly2的实现,不加Time::,友元并不是类的成员  
{ 
	double l=sqrt((cp1.x-cp2.x)*(cp1.x-cp2.x)+(cp1.y-cp2.y)*(cp1.y-cp2.y));
	cout<<"两点距离为:"<<l<<endl;
    //虽然不是类的成员函数,却可以用t.hour的形式直接访问私有数据成员——这就是友元   
}  
void lenth3(Cpoint cp1,Cpoint cp2)  //display3是一般函数,dispaly3前不加Time::  
{  
	double l=sqrt((cp1.getx()-cp2.getx())*(cp1.getx()-cp2.getx())+(cp1.gety()-cp2.gety())*(cp1.gety()-cp2.gety()));
    cout<<"两点距离为:"<<l<<endl;
	//不能直接访问,只能用公共接口t.getHour()形式访问私有数据成员  
}  
int main()  
{  
    Cpoint cp1,cp2(1,1);  
    cp1.lenth1(cp2);  //成员函数这样调用:对象名.函数名()  
    lenth2(cp1,cp2);   //友员函数的调用和一般函数无异(但实现中可以不同)  
    lenth3(cp1,cp2);   //一般函数的调用  
    return 0;  
}  





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值