第7周项目1-成员函数、友元函数和一般函数有区别(3)

来源:互联网 发布:下载淘宝网2016版 编辑:程序博客网 时间:2024/04/26 21:08
/* *Copyright(C) 2016,计算机与控制工程学院 *All rights reserved. *文件名:test.cpp *作者:张志新 *完成日期:2016年4月15日 *版本号:v1.0 * *问题描述:友元函数.成员函数和一般函数。*/#include <iostream>#include<cmath>using namespace std; class CPoint { private:     double x;  // 横坐标     double y;  // 纵坐标  public:     double distance2(CPoint &);     friend double distance1(CPoint &,CPoint &);     CPoint(double xx=0,double yy=0):x(xx),y(yy){}     getX()     {         return x;     }     getY()     {         return y;     } }; void distance3(CPoint &,CPoint &);double distance1(CPoint &p1,CPoint &p2) {     double dx=p1.x-p2.x,dy=p1.y-p2.y;     cout<<sqrt(dx*dx+dy*dy)<<endl;     return 0; } double CPoint::distance2(CPoint &p) {     double dx=x-p.x,dy=y-p.y;     cout<<sqrt(dx*dx+dy*dy)<<endl; } void distance3(CPoint &p1,CPoint &p2) {     double dx=p1.getX()-p2.getX(),dy=p1.getY()-p2.getY();     cout<<sqrt(dx*dx+dy*dy)<<endl; } int main() {     CPoint p1(1,1),p2(0,0);     cout<<"友元:";     distance1(p1,p2);     cout<<"成员函数:";     p1.distance2(p2);     cout<<"一般函数:";     distance3(p1,p2);     return 0; }
<img src="http://img.blog.csdn.net/20160417130419722?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="" />
学习心得:
   在定义一般函数的时候要早类的后面声明,因为一般函数要用到类,在一般函数中用到的是public里的函数,区别类里的成员函数。

0 0
原创粉丝点击