Brave

骤然临之而不惊 无故加之而不怒

  • 主页
  • 文章
  • 读书
  • 电影
  • 关于

Brave

骤然临之而不惊 无故加之而不怒

  • 主页
  • 文章
  • 读书
  • 电影
  • 关于

CPP中成员对象选择操作符和成员指针选择符

2016-09-09

C++中支持仅能指向类成员的指针,对这种类型的指针进行数据的提取操作时,可使用如下两种类型的操作符:成员对象选择操作符.*和成员指针选择符->*下面来具体举例子说明这两种用法。

成员对象选择操作符 .*

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream>
using namespace std;

struct demo
{
int x = 0;
int y = 0;
float z = 0.0;
};

int main()
{

int f;
demo d1, d2;
int demo::*iPtr;//a pointer of a int member in class of demo
iPtr = &demo::x;//point to demo member x
d1.*iPtr = 4;//set d1.x = 4
d2.*iPtr = 3;//set d2.x = 3
return 0;
}

成员指针选择符 ->*

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <iostream>
using namespace std;

struct demo
{
int x = 0;
int f()
{

cout << "in f" << endl;
return 10;
}
};

int main()
{

demo d1;
demo * ptr = &d1;
int (demo::*fPtr) ();
fPtr = &demo::f;
cout << (ptr->*fPtr)();
return 0;
}
  1. C和C++运算符
赏

谢谢你请我吃糖果

支付宝
微信
  • C++
  • 指针

扫一扫,分享到微信

微信分享二维码
产生一个随机数
关联容器
© 2018 Brave
Hexo Theme Yilia by Litten