1/37
0/100
您的浏览器不支持进度条
下载所得到的文件列表
c++第6章.ppt
文档介绍:
C++程序设计第6章面向对象的妥协本章学习要点友元函数友元类静态数据成员静态成员函数第6章面向对象的妥协本章学习目标了解友元函数的概念,掌握友元函数的定义与使用了解友元类的概念掌握静态数据成员的定义与使用掌握静态成员函数的定义与使用第6章面向对象的妥协友元可以访问与其有好友关系的类中的任何成员。§6.1封装的破坏——友元友元友元函数友元类如果在本类以外的其他地方定义了一个函数(这个函数可以是不属于任何类的普通函数,也可以是其他类的成员函数),在类体中用friend对其进行声明,此函数就称为本类的友元函数。友元函数可以访问这个类中的任何成员。如何将普通函数声明为友元函数呢?看下面这个简单的例子:§6.1封装的破坏——友元6.1.1友元函数【例6-1】友元普通函数。#include<iostream>usingnamespacestd;classClock//声明Clock类{public:Clock(int,int,int);friendvoiddisplay(Clock&);private:inthour;intminute;intsecond;};§6.1.1友元函数Clock::Clock(inth,intm,ints)//构造函数{hour=h;minute=m;second=s;}//这是友元函数,形参t是Clock类对象的引用voiddisplay(Clock&t){cout<<t.hour<<":"<<t.minute<<":"<<t.second<<endl;}intmain(){Clockt(10,13,56);display(t);//调用display函数,实参t是Clock类对象return0;}§6.1友元函数程序运行结果如下:10:13:56cout<<hour<<":"<<minute<<":"<<second<<endl;注意【例6-2】友元成员函数。#include<iostream>usingnamespacestd;classDate;//对Date类的提前引用声明classClock//声明Clock类{public:Clock(int,int,int);voiddisplay(Date&);private:inthour,minute,second;};§6.1.1友元函数classDate//声明Date类{public:Date(int,int,int);friendvoidClock::display(Date&);private:intmonth;intday;intyear;};§6.1.1友元函数Clock::Clock(inth,intm,ints)//Clock类的构造函数{hour=h;minute=m;second=s;}voidClock::display(Date&dd){cout<<dd.month<<"/"<<dd.day<<"/"<<dd.year<<endl;cout<<hour<<":"<<minute<<":"<<second<<endl;}Date::Date(intm,intd,inty)//Date类的构造函数{month=m;day=d;year=y;}§6.1.1友元函数 内容来自淘豆网www.taodocs.com转载请标明出处.
更多>> 相关文档
非法内容举报中心
文档信息
  • 页数37
  • 收藏数0 收藏
  • 顶次数0
  • 上传人sxlw2018
  • 文件大小1.10 MB
  • 时间2020-07-26
文档标签