将普通函数声明为友元函数
2016-03-02 16:19
176 查看
// display 是一个 是类外定义的 并且 没有用 time 类进行限定的函数 , 它 是 非成员函数 ,不属于任何类 // 如果没有 在time类的定义体中 声明display 函数为 friend 函数 他是不能引用 time中的私有成员 hour minute sec的 // 现在由于生命了 display 是time类 friend 函数 所以 display 函数可以引用 time 类中的 hour minute sec 但注意在引用这些私有成员的时候 必须加上对象名 // 因为 display 不是 time 类的成员函数 他们之间是 friend(朋友关系) 没有 this指针' 是不能默认引用 time类的 成员数据的 #include<iostream> using namespace std; class time { public: time(int ,int ,int); // 声明 构造 函数 friend void display (time &t); // 声明 dispily 为 time类的 友元函数 private: int hour; int minute; int sec; }; time::time(int h,int m,int s) // 定义构造函数 , 给hour minute sec赋初值 { hour=h; minute=m; sec=s; } void display(time &t) // 这是 普通的函数 ,形参t 是 time类对象的 引用 { cout<<t.hour<<":"<<t.minute<<":"<<t.sec<<endl; } int main() { time t1(10,13,56); display(t1); // 调用函数 实参t1 是 time 类的 对象 return 0; }
相关文章推荐
- 网页布局基础浅谈
- php经典算法
- 【程序员在法国】如何赢得老外的尊重?
- 配置Tomcat使用https协议(配置SSL协议)
- 常规阻抗控制只能是10%的偏差(二)
- iOS TableView学习目录
- Android高级知识—思维导图
- 环信SDK报错处理方法obtain an updated library from the vendor, or disable bitcode for this target. for archit
- Handler的简单实用和介绍
- CListCtrl种InsertColumn不显示
- 【程序员在法国】如何赢得老外的尊重?
- UML类图画法及其之间的几种关系
- 你的计划为什么执行不下去?怎么破?
- 环信SDK报错处理方法obtain an updated library from the vendor, or disable bitcode for this target. for archit
- java中set的交集、差集、并集的简单实现
- 报错之后,弹窗的集中方式
- 【Android】android-ndk-r10环境搭建
- iOS批量上传图片(多图上传)
- 字符串编码转换
- JVM参数配置