友元类
来源:互联网 发布:arm7也是keil编程吗 编辑:程序博客网 时间:2024/06/03 22:56
#include <iostream>
#include <math.h>
using namespace std;
class Point;
class distM{
public:
static int dist(Point & p1,Point &p2);
};
/*友元类的使用较少 ,是因为对封装的破坏性过大*/
class Point{
public:
Point(int x, int y)
:_x(x),_y(y){}
// friend int distM::dist(Point & p1,Point &p2);
friend class distM;
*/
private:
int _x;
int _y;
};
int distM::dist(Point & p1,Point &p2){
int x = p1._x - p2._x;
int y = p1._y - p2._y;
return sqrt(x*x+y*y);
}
int main(){
Point p1(4,5);
Point p2(7,8);
int d =distM::dist(p1,p2);
cout<<d<<endl;
return 0;
}
#include <math.h>
using namespace std;
class Point;
class distM{
public:
static int dist(Point & p1,Point &p2);
};
/*友元类的使用较少 ,是因为对封装的破坏性过大*/
class Point{
public:
Point(int x, int y)
:_x(x),_y(y){}
// friend int distM::dist(Point & p1,Point &p2);
friend class distM;
/*
类distM中的每一个成员函数都是Point类的友元函数
友元类不受权限影响 public private protected*/
private:
int _x;
int _y;
};
int distM::dist(Point & p1,Point &p2){
int x = p1._x - p2._x;
int y = p1._y - p2._y;
return sqrt(x*x+y*y);
}
int main(){
Point p1(4,5);
Point p2(7,8);
int d =distM::dist(p1,p2);
cout<<d<<endl;
return 0;
}
阅读全文
0 0
- 友元类
- 友元类
- 友元类
- 友元类
- 友元类
- 友元类
- 友元类
- 友元类
- 友元类...
- 友元类
- 友元类
- 友元类。。。。
- 友元类
- 友元类
- 友元类
- 友元类
- 友元类
- 友元类
- Java总结 1111/1112
- python(二)序列
- C#基础(15)——里氏转换、protected
- StringBuffer中append对象介绍
- 两个数的大小
- 友元类
- redis设计与实现(13)客户端
- Android移动开发-在Android项目里集成调用微信支付开发的实现
- fragment(代码)
- 八数码
- java线程中sleep()与wait()的区别?
- Spring中基于Java的配置@Configuration和@Bean用法
- Oracle04数据更新
- 获取assets目录下文件的路径