微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

什么是C中的:: *

当我面对时,我正在阅读一本基本的C教程
::*

在以下代码中.我可以知道那是什么:

class A {
public:
protected:
  int i;
};


class B : public A {
  friend void f(A*,B*);
  void g(A*);
};

void f(A* pa,B* pb) {
//  pa->i = 1;
  pb->i = 2;

//  int A::* point_i = &A::i;
  int A::* point_i2 = &B::i;
}

void B::g(A* pa) {
//  pa->i = 1;
  i = 2;

//  int A::* point_i = &A::i;
  int A::* point_i2 = &B::i;
}

void h(A* pa,B* pb) {
//  pa->i = 1;
//  pb->i = 2;
}

int main() { }

根据我的C知识到目前为止,我无法理解类似的东西

int A::* point_i2

你能救我吗?

谢谢.

解决方法

point_i2是指向成员的指针.这意味着它指向在类A中声明的int成员变量.

原文地址:https://www.jb51.cc/c/110835.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐