第七周任务二
来源:互联网 发布:sql server添加默认值 编辑:程序博客网 时间:2024/05/16 15:16
* (程序头部注释开始)
* 程序的版权和版本声明部分
* Copyright (c) 2011,
烟台大学计算机学院学生 * All rights reserved
.* 文件名称:
* 作 者: 张艳明
* 完成日期: 2012 年 4 月 4 日
* 版 本 号: V1.0
* 对任务及求解方法的描述部分
* 输入描述:
* 问题描述:
* 程序输出:
* 程序头部的注释结束
//*
#include<iostream> #include<cmath> using namespace std; enum SymmetricStyle { axisx,axisy,point};//分别表示按x轴, y轴, 原点对称 class CPoint { private: double x; // 横坐标 double y; // 纵坐标 public: CPoint(double xx = 0,double yy = 0); double Distance1(CPoint p) ; // 两点之间的距离(一点是当前点,另一点为参数p) friend double Distance2(CPoint &); double getx(){return x;} double gety(){return y;} void input(); }; double Distance3(CPoint &); CPoint::CPoint(double xx,double yy):x(xx),y(yy){} // 两点之间的距离(一点是当前点,另一点为参数p) // 成员函数的实现,Distance前加Cpoint::,以x,y的形式直接访问私有数据成员 double CPoint::Distance1(CPoint p) { return(sqrt((x - p.x) * (x - p.x) + (y - p.y) * (y - p.y))); } //友元函数的实现, double Distance2(CPoint &p) { CPoint p1; cout << "请输入一个点" ; p1.input(); return(sqrt((p1.x - p.x) * (p1.x - p.x) + (p1.y - p.y) * (p1.y - p.y))); } //普通函数的实现 double Distance3(CPoint &p) { CPoint p1; cout << "请输入一个点" ; p1.input(); return(sqrt((p1.getx() - p.getx()) * (p1.getx() - p.getx()) + (p1.gety() - p.gety()) * (p1.gety() - p.gety()))); } //以x,y 形式输入坐标点 void CPoint::input() { char c; cout << "格式:(x,y):" ; cin >> x >> c >> y; while(1) { if(c != ',') { cout << "格式出错请重输!" << endl; } else break; } return ; } void main() { CPoint p1,p2; cout << "输入第一个点p1:" ; p1.input(); cout << "输入第二个点p2:"; p2.input(); cout << "这两点之间的距离是:" << p1.Distance1(p2) << endl;//调用成员函数 "这两点之间的距离是:" << Distance2(p1) << endl;//友元函数的调用 cout << cout << "这两点之间的距离是:" << Distance3(p1) << endl;//普通函数的调用 system("pause"); }
上机心得:
1友元函数,关键字friend声明,一个类的友元函数可以访问这个类中的私有成员,
2友元函数并不属于类的成员函数,在访问类内的数据成员时,必须制定一个要访问的对象,通过制定的对象来访问私有数据成员
3.而普通函数只能通过调用类的成员函数来访问类的私有成员。
- 第七周 任务二
- 第七周任务二
- 第七周 任务二
- 第七周任务二
- 第七周任务二
- 第七周任务二
- 第七周任务二
- 第七周任务二
- 第七周任务二
- 第七周任务二
- 第七周任务二
- 第七周任务(二)
- 《第七周实验报告任务二》
- 第七周实验报告任务二
- 第七周任务二 友元函数
- 第七周实验报告 任务二
- 第七周上机任务项目二
- 任务二第七个
- sourceinsight建立linux源码浏览
- Linux目录结构
- 再学java基础(9)一个 递归 的树形。
- cocos2d-x游戏实例(23)-简易动作游戏(1)
- 矩阵专题之二----稀疏矩阵的压缩存储
- 第七周任务二
- 31.final关键字的使用
- STL迭代器
- 长连接和心跳包
- SEO建议
- 第七周任务3
- poj1676模拟
- 批量更改元器件的封装
- 展讯平台如何调试之打LOG--串口log