C++成员解除引用运算符

成员解除引用运算符

C++允许定义指向类成员的指针,对这种指针进行声明或解除引用时,需要使用一种特殊的表示法。
例:

class Example
{
   
private:
    int feet;
    int inches;
public:
    Example();
    Example(int ft);
    ~Example();
    void show_in()const;
    void show_ft()const;
    void use_ptr()const;
};

如果没有具体的对象,则inches成员只是一个标签。也就是说,这个类将inches定义为一个成员标识符,但要为它分配内存。必须声明这个类的一个对象:

Example ob;//现在ob.inches存在

因此,可以结合使用标识符inches和特定的对象,来引用实际的内存单元(对于成员函数,可以省略对象名,但对象被认为是指针执行对象)。
C++允许这样定义一个指向标识符inches的成员指针:

int Example::*pt = &Example::inchers;

这种指针与常规指针有所区别。常规指针指向特定的单元格,而pt指针并不是指向特定的内存单元,因为声明中没有指出具体的对象。指针pt指的是inches成员在任意Example对象中的位置。和标识符inches一样,pt被设计与对象标识符要求使用。实际上。表达式*pt对标识符inches的角色做了假设,因此,可以使用对象标识符来指定访问的对象,使用pt指针来指定该对象的inches成员。例如:类方法可以使用下面得的代码:

int Example::*pt = &Example::inches;
Example ob1;
Example ob2;
Example *pq = new Example;
cout<<ob1.<
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值