/**Copyright(c)2016,烟台大学计算机与控制工程学院*All rights reserved*文件名称:123.cpp*作    者:王蕊*完成日期:2016年4月12日*版 本 号:v1.0**问题描述:阅读下面的程序,体会注释中的说明。
*///例:使用成员函数、友元函数和一般函数的区别
#include <iostream>
using namespace std;
class Time
{
public:Time(int h,int m,int s):hour(h),minute(m),sec(s) {}void display1();    //display1是成员函数friend void display2(Time &);  //display2是友元函数int getHour(){return hour;}int getMinute(){return minute;}int getSec(){return sec;}
private:int hour;int minute;int sec;
};
void Time::display1()  //成员函数display1的实现,dispaly1前加Time::
{//以hour形式直接访问私有数据成员,实质是this->hour形式cout<<hour<<":"<<minute<<":"<<sec<<endl;
}
void display2(Time &t)  //友元函数dispaly2的实现,不加Time::,友元并不是类的成员
{//虽然不是类的成员函数,却可以用t.hour的形式直接访问私有数据成员——这就是友元cout<<t.hour<<":"<<t.minute<<":"<<t.sec<<endl;
}
void display3(Time &t)  //display3是一般函数,dispaly3前不加Time::
{//不能直接访问,只能用公共接口t.getHour()形式访问私有数据成员cout<<t.getHour()<<":"<<t.getMinute()<<":"<<t.getSec()<<endl;
}
int main()
{Time t1(10,13,56);t1.display1();  //成员函数这样调用:对象名.函数名()display2(t1);   //友员函数的调用和一般函数无异(但实现中可以不同)display3(t1);   //一般函数的调用return 0;
}运行结果:

第七周项目一-成员函数、友元函数和一般函数有区别(1)相关推荐

  1. 第七周项目一-成员函数(4)

    /* *Copyright(c)2016,烟台大学计算机与控制工程学院 *All rights reserved *文件名称:123.cpp *作 者:王蕊 *完成日期:2016年4月12日 *版 本 ...

  2. 第七周项目2建立链队算法库

    /* Copyright (c)2015,烟台大学计算机与控制工程学院 All rights reserved. 文件名称:第七周项目2.cpp 作 者:彭子竹 完成日期:2015年10月26日 版 ...

  3. 第七周项目5排队看病模拟

    /* Copyright (c)2015,烟台大学计算机与控制工程学院 All rights reserved. 文件名称:第七周项目5.cpp 作 者:彭子竹 完成日期:2015年10月30日 版 ...

  4. 第七周项目一-友元函数(3)

    /* *Copyright(c)2016,烟台大学计算机与控制工程学院 *All rights reserved *文件名称:123.cpp *作 者:王蕊 *完成日期:2016年4月12日 *版 本 ...

  5. 第七周项目一-三个函数在一个程序中(5)

    /* *Copyright(c)2016,烟台大学计算机与控制工程学院 *All rights reserved *文件名称:123.cpp *作 者:王蕊 *完成日期:2016年4月12日 *版 本 ...

  6. 第七周项目一-一般函数(2)

     /* *Copyright(c)2016,烟台大学计算机与控制工程学院 *All rights reserved *文件名称:123.cpp *作 者:王蕊 *完成日期:2016年4月12日 * ...

  7. 第七周项目三-用多文件组织多个类的程序

    /**Copyright(c)2016,烟台大学计算机与控制工程学院*All rights reserved*文件名称:123.cpp*作 者:王蕊*完成日期:2016年4月13日*版 本 号:v1. ...

  8. 第七周 项目四-队列数组

    /* Copyright (c)2017,烟台大学计算机与控制工程学院 All rights reserved. 文件名称:第7周项目项目4 - 队列数组.cpp 作 者:孙仁圆 完成日期:2017年 ...

  9. 第七周项目四—队列数组

    /*      Copyright (c)2015,烟台大学计算机与控制工程学院      All rights reserved.      文件名称:第7周项目项目4 - 队列数组.cpp     ...

最新文章

  1. echarts切换折线图变大_这个月,我就和折线图杠上了...
  2. 魔兽世界多玩服务器位置,选择服务器也有大学问?新手入坑《魔兽世界》该在哪里“扎根”...
  3. Oracle RMAN备份深入解析--联机备份
  4. 一个云主机绑定多个域名
  5. 主流Java数据库连接池比较及前瞻
  6. 二叉堆(最小堆)(数据结构与算法分析的代码实现)
  7. python中怎么比较两个列表的大小_Python:找到两个列表中存在的给定长度的公共子列表...
  8. Arduino UNO WIFI开发板,学习必备开发套件
  9. React开发(106):方法定义 不然弹出框报错
  10. 实例59:python
  11. .net mysql和php mysql数据库连接_浅谈PHP连接MySQL数据库的三种方式
  12. 苹果HTC专利战正酣: 逃离Android?
  13. Decorator 装饰(结构型)
  14. 计算机二级试题aoa,浙江省高校计算机二级AOA考试excel试题及解析
  15. 7-9 用天平找小球
  16. 《杭州区块链行业发展报告》披露市场现状
  17. Excel怎样恢复科学计数法显示的数据
  18. C实现 费氏查找算法
  19. word骨灰级水平,赶紧留一份
  20. 如何甄别有价值的数据

热门文章

  1. python什么是高阶函数_说说 Python 中的高阶函数
  2. portainer忘记用户名密码_【20201122】做个用户管理系统(6)——忘记密码页面、重置密码方式页面的模板制作...
  3. live555点播服务器流程深入分析(一)
  4. Linux 防火墙命令的操作命令CentOS
  5. J0ker的CISSP之路:复习Access Control(10)
  6. ATL CLR MFC Win32 常规 的区别
  7. PC问题-VMware Workstation出现“文件锁定失败”
  8. js 后台调用前台的JS
  9. DumpMem and Monster - Virtual Memory Explorers on Windows Mobile/CE
  10. WCF之元数据交换 (Metadata Exchange)