《第七周任务二》设计complex,使实部和虚部的类型为定义对象时用的实际类型

/* (程序头部注释开始)

* 程序的版权和版本声明部分

* Copyright (c) 2011, 烟台大学计算机学院学生 

* All rights reserved.

* 文件名称:理解成员函数、友元函数和一般函数的区别 并会熟练使用它们

* 作    者:         张斌                       

* 完成日期:     2012    年 04      月    02  日

* 版 本 号:       7-2-1   

* 对任务及求解方法的描述部分

* 输入描述: 

* 问题描述: 设计complex,使实部和虚部的类型为定义对象时用的实际类型

* 程序输出:

 * 程序头部的注释结束

*/

#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){}   
    void Distance1(CPoint p) const;  
    friend void Distance2(CPoint &, CPoint &);  //友元函数声明   
    double getX(){return x;}  
    double getY(){return y;}  
};  
  
void Distance3(CPoint &, CPoint &);  //一般函数声明   
  
void CPoint :: Distance1(CPoint p) const      // 两点之间的距离(一点是当前点,另一点为参数p)   
{  
    double d;    
    d = sqrt((p.x - x) * (p.x - x) + (p.y - y) * (p.y - y));  
    cout << "用成员函数输出" << "两点之间的距离:" << d << endl;  
}  
  
void Distance2(CPoint &X, CPoint &Y)  
{  
    double d;  
    d = sqrt((X.x - Y.x) * (X.x - Y.x) + (X.y - Y.y) * (X.y - Y.y));  
    cout << "用友元函数输出" << "两点之间的距离:" << d << endl;  
}  
  
void Distance3(CPoint &a1, CPoint &a2)  
{  
    double d;  
    d = sqrt((a1.getX() - a2.getX()) * (a1.getX() - a2.getX()) + (a1.getY() - a2.getY()) * (a1.getY() - a2.getY()));  
    cout << "用普通函数输出" << "两点之间的距离:" << d << endl;  
}  
  
int main()  
{  
    CPoint c1(25, 24);  
        CPoint c2(52, 84);  
  
    c1.Distance1(c2);
	Distance2(c1, c2);
    Distance3(c1, c2);  
    system("pause");  
    return 0;  
}  

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值