编程过程遇到一个问题,希望大家给予帮助,问题是这样的
有两个类:
class A
{
   public:
     ...
    int width;
    int height;
};
在类A的执行过程中width和height等成员变量被赋值,这些成员变量的值我要在class B中频繁调用,
class B
{
  ...
};
void B::process()
{
  A aa;
  int bwidth=aa.width;
}
如果用函数process()这样调用A类的width是错误的,因为A执行之后width的值就自动析构了,我应该怎样改动程序呢,谢谢各位!变量调用VC

解决方案 »

  1.   

    void B::process()
    {
      A aa;
      int bwidth=aa.width;
    }
    这样aa在退出函数的时候就销毁了
    要么使用指针,要么使用全局变量。
      

  2.   

    但是static需要初始化,类A中的成员变量width和height是在A中函数执行时自动获取的值,我没法给初值
      

  3.   

    B类里面搞个指针  A * aa;A a;B初始化的时候aa = &a就可以了。
      

  4.   

    再麻烦您问一下,A *aa和A a都放在class B{}中,aa=&a放在B的构造函数中,是这样吗?可是用aa->width还是得不到正确的值啊
      

  5.   

    在B类中加个A(或A的指针)的成员变量不成么?~