友元函数是指:虽然不是类成员却能够访问类的所有成员的函数。
- 如果将一个非成员函数声明为类的友员,那么这个函数可以访问类的私有成员。
- 关键字friend使一个非成员函数能够访问类的私有成员。
#include <iostream>
using namespace std;
class myclass{
int a,b;
public:
myclass(int i,int j){
a=i;
b=j;
}
friend int sum(myclass x); //sum()是myclass类的友元函数。
};
int sum(myclass x){ //sum()不是任何类的成员函数。
return x.a+x.b; //因为sum()是myclass 的友元函数,所以可以直接访问成员变量a,b;
}
int main(){
myclass c1(3,8);
cout<<sum(c1);
return 0;
}
使用友元函数的好处:
1.重载某些特定的运算符。
2.简化某些I/O函数的创建。
3.检查对象的状态,写出高效的代码。
分享到:
相关推荐
c++ 基本知识--友元(曹阳).pptx
友元函数,类外普通函数声明为类的友元,之后即可与类共享数据
这是关于C++中、如何将普通函数声明友元函数的、求间隔日期的例子。适用于C++初学者学习用。
(1) 定义一个Boat和Car两个类,他们都具有私用属性--重量; (2)编写一个函数,计算两者的重量和。
友元函数的好例子 lass X { private: int i; public: X(int ii) { i=ii; } int getX() { return i; } friend int g(X x
私有成员只能在类的成员函数内部访问,如果想在别处访问对象的私有成员,只能通过类提供的接口(成员函数)间接地进行。这固然能够带来数据隐藏的好处,利于将来程序的扩充,但也会增加程序书写的麻烦。
友元函数是指某些虽然不是类成员却能够访问类的所有成员的函数。类授予它的友元特别的访问权。通常同一个开发者会出于技术和非技术的原因,控制类的友元和成员函数(否则当你想更新你的类时,还要征得其它部分的拥有...
运算符重载:友元(friend)函数问题
本文档详细介绍了C++友元函数及友元类,方便大家对比学习
日期类Date包含日期的年、月、日三个数数据成员,编写一个友元函数,求两个日期之间相差的天数; 重要的是理顺:这个函数不是Date类的成员函数
友元函数的的函数重载 是自己用过的,绝对正确
c++ demo,重载运算符,友元函数的实现
采用C++语言实现的日期时间合并输出(友元函数)
友元函数的应用,请大家好好学习的,为将来应付靠水!
C++中友元函数的例子,可以通过这些例子认识友元函数
这主要是运用了友元函数,实例是时间与日期这两个类直接的友元函数。
把谭书上的例子写了一下,有空就看看。从例子中就可以看出它的一些原理。
一个实例,实现运算符重载(成员函数和非成员函数两种方式),友元函数的使用,注意事项等,自己学习时编写的,
模板类友元函数的一个源代码例子。
详细介绍了C++中友元的使用,适合C++入门者参考学习。