c++中类成员函数的互相调用

比如:
class A{
public:
void show(); //显示某个窗口
void OperatorB();//操作B类

private:
B b;
C c;
int m;

};
class B{
public:
void showA(); //调用A的show()
void showC(); //显示c

private:
A a; //还要实例化A?

C c;

};
int main(){
A a;
a.show();
a.exec();

return 0;

}

现在的问题是:ABC各个类,各有一个cpp文件,我只想在A中实例化B,C。那么我怎么去在B中去调用A的成员函数,通过静态成员函数吗,但是静态成员函数不能访问类中的非静态成员变量,我在C中也要调用B中的成员。
在类A中我要修改B的值,当我运行到B的时候需要修改A中的的成员值,不能都通过实例化来实现吧?

可以在B的接口中设置参数 传入A对象的指针
然后用A的指针来调用A的方法追问

比如说程序从main构造A类,点击某个按钮执行showB(),那么我就在B类包含的这个界面去操作,这个时候我需要去修改A类中函数changA()去修改A中某个成员变量,我不可能在B中再去实例化A吧。
如果是传参数的话 void changA(A a,int value)这样去设计B的方法吗?那这个A类的参数又是怎么传进去的?

追答

可以在调用changeA的地方new出A的对象 将对象传入

温馨提示:内容为网友见解,仅供参考
无其他回答
相似回答