C++基础之指向成员的指针

本文介绍了C++中的指向成员的指针,包括指向函数成员和数据成员的指针。这类指针允许在不知道具体成员名字的情况下调用函数或访问数据。文章详细阐述了它们的定义、初始化、赋值以及如何通过对象或指针调用。同时,提到了指向虚函数成员的多态性特点,并指出构造函数和析构函数不能作为指针的目标。
摘要由CSDN通过智能技术生成

C++中指向成员的指针

  一个类有两种基本的成员:函数成员和数据成员。同样的,指向成员的指针也有两种:指向函数成员的指针和指向数据成员的指针。后则其实并不常用,因为类一般是不含有公共数据成员的,仅当用在继承用C写的代码时协调结构(struct)和类(class)时才会用到。

  指向成员的指针是C++语法中最难以理解的构造之一,但是这也是一个C++最强大的特性。它可以让你调用一个类的函数成员而不必知道这个函数的名字。这一个非常敏捷的调用工具。同样的,你也可以通过使用指向数据成员的指针来检查并改变这个数据而不必知道它的成员名字。

  指向数据成员的指针

  尽管刚开始时,指向成员的指针的语法会使你有一点点的迷惑,但你不久会发现它其实同普通的指针差不多,只不过是*号的前面多了::符号和类的名字,例:定义一个指向int型的指针:

int * pi; 
  定义一个指向为int型的类的数据成员:
int A::*pmi; //pmi是指向类A的一个int型的成员
  你可以这样初始化它:
class A
{
 public:
 int num;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值