第七周实验报告2

  1. 1./*(文件注释头部开始) 
    2.*程序的版权和版本声明部分 
    3.*Copyright (c) 2011,烟台大学计算机学院学生 
    4.*All rights reserved. 
    5.*文件名称:平面坐标点类 
    6.*作    者:114-4刘程程 
    7.*完成日期:2012年04月03号 
    8.*版本号:vc.3 
    9.* 对任务及求解方法的描述部分 
    10.* 输入描术:输入坐标点 
    11.* 问题描述:你需要完成的任务是,利用成员函数、友元函数和一般函数,实现三个版本的求两点间距离的函数, 
    12.* 并设计main()函数完成测试。此任务和上例的区别在于“距离是一个点和另外一个点的距离”,参数个数上有体现。 
    13.* 程序输出:输出两点之间距离、到原点距离、关于坐标轴和原点的对称点等 
    14.* 程序头部的注释结束 
    15.*/    
    
    
    
    #include <iostream>
    #include <Cmath>
    using namespace std;
    #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(){return x;}
     double gety(){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(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;
    }
    

 

 

 

感悟:通过这个程序,对一般函数,类成员函数,以及友元函数有了更加清晰的认识,一开始对一般函数的实现不太会弄,因为一般函数不能引用类的私有数据成员,后来知道了,通过在public中定义一个 double getx()和double gety()就可以引用了。。。。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值