您的位置:首页 > 其它

Access注入偏移爆字段

2010-09-22 00:12 357 查看
友元函数是类定义中由关键字friend 修饰 的非成员函数。它不是本类中的成员函数,但是它的函数体中可以通过“对象.成员名”访问类中私有成员和保护成员。
友元函数声明的格式为:
friend 函数返回值类型 友元函数名(参数表);

应用举例:
#include"stdafx.h"
using namespace std;
class sample
{
int m;
public:
sample()
{m=10;}
sample(int k)
{ m=k;}
friend sample power(sample ObjC);
void display()
{
cout<<"m="<<m<<endl;
}
};
sample power(sample ObjC)
{
return sample(ObjC.m*ObjC.m);
}
void main()
{
sample ObjA(25),ObjB;
ObjA.display();
ObjB.display();
ObjB=power(ObjA);
ObjB.display();

}
程序运行结果:



总结:在本类中由于power函数是友元函数,所以在该函数体中可以直接引用类的私有数据成员。语句“ObjB=power(ObjA)”传递的参数是sample类的对象,函数power返回值是sample类的对象,并将power函数的返回值赋值给该类对象ObjB,调用power函数就像调用普通函数一样,感觉该应用和定义的全局变量有着某种的异曲同工之妙,理解的还是不太透彻,希望以后看的时候,这种想法还是正确。
本文参考文献:C++程序设计简明综合教程 (朱从旭、刘卫国主编..)
本文出自 “蓝色未来的浅见” 博客,请务必保留此出处http://lanseweilai.blog.51cto.com/6309590/1579654
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: