当我面对时,我正在阅读一本基本的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成员变量.