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

比如:classA{public:voidshow();//显示某个窗口voidOperatorB();//操作B类private:Bb;Cc;intm;};classB... 比如:
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中的的成员值,不能都通过实例化来实现吧?
展开
 我来答
帅的都想毁容
推荐于2016-11-05 · 超过105用户采纳过TA的回答
知道小有建树答主
回答量:199
采纳率:0%
帮助的人:146万
展开全部
可以在B的接口中设置参数 传入A对象的指针
然后用A的指针来调用A的方法
追问
比如说程序从main构造A类,点击某个按钮执行showB(),那么我就在B类包含的这个界面去操作,这个时候我需要去修改A类中函数changA()去修改A中某个成员变量,我不可能在B中再去实例化A吧。
如果是传参数的话 void changA(A a,int value)这样去设计B的方法吗?那这个A类的参数又是怎么传进去的?
追答
可以在调用changeA的地方new出A的对象 将对象传入
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式