3-7 类的友元函数的应用
来源:互联网 发布:4选1数据选择器的测试 编辑:程序博客网 时间:2024/06/03 16:01
Problem Description
通过本题目的练习可以掌握类的友元函数的定义和用法
要求设计一个点类Point,它具有两个double型的数据成员x,y。为该类设计构造函数。并为其添加一个友元函数用于计算并输出两点间的距离;再添加一个输出成员函数用于输出点的信息。
并编写主函数,实现以下的输入输出内容。
Input
4个double型的数,中间用一个空格间隔。
Output
输出数据共3行,前两行用于显示要求距离的两个点的信息,第三行显示两点的距离。
Example Input
5 6 2 3
Example Output
The first point is the coordinate:X=5,Y=6
The second point is the coordinate:X=2,Y=3
The distance between the two points is:4.24264
友元函数:封装后开一个小口,可以访问数据成员
#include <iostream>#include <cstring>#include <math.h>using namespace std;class Point{private: double x, y;public: Point(double xx = 0, double yy = 0) { x = xx; y = yy; } void showpoint1() { cout<<"The first point is the coordinate:X="<<x<<",Y="<<y<<endl; } void showpoint2() { cout<<"The second point is the coordinate:X="<<x<<",Y="<<y<<endl; } friend void dis(Point &p1, Point &p2);//友元函数的声明,加不加&的区别 //一定注意,友元函数声明和定义时返回类型一定相同。可以是void,也可是其他数据类型};void dis(Point &p1, Point &p2)//类外定义时不加friend{ double x = p1.x - p2.x; double y = p1.y - p2.y; double t = sqrt(x*x + y*y); cout<<"The distance between the two points is:"<<t<<endl;}int main(){ double x, y, z, h; cin>>x>>y>>z>>h; Point a(x, y); Point b(z, h); a.showpoint1(); b.showpoint2(); dis(a, b); return 0;}
阅读全文
0 0
- sdut 3-7 类的友元函数的应用
- 3-7 类的友元函数的应用
- 3-7 类的友元函数的应用
- 3-7 类的友元函数的应用
- 3-7 类的友元函数的应用
- 3-7 类的友元函数的应用
- 3-7 类的友元函数的应用
- 2676 3-7 类的友元函数的应用
- 3-7 类的友元函数的应用(c++)
- SDUTACM 3-7 类的友元函数的应用
- 3-7 类的友元函数的应用
- 3-7 类的友元函数的应用
- 3-7 类的友元函数的应用
- 3-7 类的友元函数的应用
- 2676-3-7 类的友元函数的应用
- 3-7 类的友元函数的应用
- 3-7 类的友元函数的应用
- 3-7 类的友元函数的应用
- Android逆向之旅---Android应用的汉化功能(修改SO中的字符串内容)
- MySQL索引使用方法和性能优化
- redis的一些安全问题小实验
- 未知宽高图片的水平垂直居中
- 2018年第九届蓝桥杯java b学习重点和资料
- 3-7 类的友元函数的应用
- UE4 VR 模式下全屏解决办法
- 虚幻4退出游戏蓝图节点
- Linux中执行shell脚本的4种方法总结
- 津津的零花钱一直都是自己管理。每个月的月初妈妈给津津300元钱,津津会预算这个月的花销,并且总能做到实际花销和预算的相同。 为了让津津学习如何储蓄,妈妈提出,津津可以随时把整百的钱存在她那里,到了年
- 欢迎使用CSDN-markdown编辑器
- Servlet与Jsp的结合使用实现信息管理系统一
- delegate() 方法为指定的元素(属于被选元素的子元素)添加一个或多个事件处理程序,并规定当这些事件发生时运行的函数。 使用 delegate() 方法的事件处理程序适用于当前或未来的元素(比如
- gsoap 相关使用(wsdl2h 和 soapcpp2)