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中的的成员值,不能都通过实例化来实现吧? 展开
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的方法
然后用A的指针来调用A的方法
追问
比如说程序从main构造A类,点击某个按钮执行showB(),那么我就在B类包含的这个界面去操作,这个时候我需要去修改A类中函数changA()去修改A中某个成员变量,我不可能在B中再去实例化A吧。
如果是传参数的话 void changA(A a,int value)这样去设计B的方法吗?那这个A类的参数又是怎么传进去的?
追答
可以在调用changeA的地方new出A的对象 将对象传入
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询