Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1336705
  • 博文数量: 177
  • 博客积分: 3640
  • 博客等级: 中校
  • 技术积分: 1778
  • 用 户 组: 普通用户
  • 注册时间: 2011-04-27 16:51
文章分类

全部博文(177)

文章存档

2014年(1)

2013年(10)

2012年(3)

2011年(163)

分类: WINDOWS

2011-05-31 17:29:10

//这程序,刚看的时候好费劲啊,贴上来大家分享一下
#include
using namespace std;
class M
{
int x;
int y;
public:
void set(int a,int b)
{
x=a;
y=b;
}
friend int sum(M m);
};
int sum(M m)
{
int M::* px = &M::x; //M::*意为“指向类M的成员的指针”
int M::* py = &M::y;
M* pm = &m;
int s=m.*px + pm->*py;
return s;
}
int main()
{
M n;
void (M::*pf)(int ,int)=&M::set;
(n.*pf)(10,20);
cout << "sum" << sum(n) << endl;

M *op = &n;
(op->*pf)(30,40);
cout << "sum" << sum(n) << endl;
return 0;
}
//结果sum30
//sum70
阅读(1158) | 评论(0) | 转发(0) |
0

上一篇:友元函数

下一篇:getaddrinfo()函数详解

给主人留下些什么吧!~~