[英]How do I access member variables from one class into other using friend functions in C++?
[英]Using pointers to access friend class member functions
这是两节课
class A{
A(int val):Val(val){}
int getVal(){return Val;}
friend class B;
private:
int Val;
}
class B{
B(A* ptr):PTR(ptr){}
private:
A* PTR;
}
在主函数中,我为两个类创建对象
A objA;
B objB(&objA)
如您所见,objB现在包含一个指向objA地址的指针。 我面临的问题是如何使用objB中的指针访问objA中的成员函数。
如果要使A类型的对象指向B类型的对象,反之亦然,则可以使用setter而不是像这样通过构造函数参数传递实例:
class A{
A(int val):Val(val){}
int getVal(){return Val;)
void setB(B* ptr) {BPtr= ptr;}
friend class B;
private:
int Val;
B* BPtr
}
class B{
B(A* ptr):PTR(ptr){}
private:
A* PTR;
}
现在,当您创建A和B对象时,您可以执行以下操作:
A objA;
B objB(&objA);
A.setB(&objB);
编辑:
好吧,我一开始误解了你的问题。 如果您只是想访问类型A的对象的成员,则只需执行objA->field
或(*objA).field
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.