如何在另一个类

时间:2016-01-25 18:35:17

标签: c++ data-structures graph

我在C ++中有两个类

     Class A 
     {    
         public: 
             int v; 
     }

     Class B 
     {
         public : 
             void calculation (); 
     }

     void B::calculation () 
     { 
         int i;   
         for (i= 1; i < object_a.v ;i++)    
         {
             //some body    
         } 
      }

      //now I have created an object for class A and for that object I have
      //got some value for "v" 

      int main () 
      { 
          A object_a();
          cout << "The value of variable v in class A is" << object_a.v << ; 
      }

对于上面的示例代码,我尝试使用在类B中定义的另一个函数中使用object_a检索的变量。但是它会引发未声明的错误。有人可以帮我在这里如何去做吗?

PS:我在编译函数时遇到错误&#34;计算()&#34;在B类

2 个答案:

答案 0 :(得分:5)

像往常一样。 A object_a();未定义类型为A的变量object_a。它声明了一个名为object_a的函数,它返回一个A类型的值,并且不接受任何参数。

答案 1 :(得分:1)

如果方法B::calculation需要使用类A的对象,则可以将其作为参数传递给方法。在这种情况下,您应该使用参数

定义方法

例如

void calculation ( const A &object_a  ) ;

//...

void B::calculation ( const A &object_a  ) 
{ 
     int i;   
     for (i= 1; i < object_a.v ;i++)    
     {
             //some body    
     } 
}

考虑到这个陈述

A object_a();

是一个返回类型为A且没有参数的函数声明。你应该写一下

A object_a;

此外,您的代码还包含其他错误,例如在类定义后没有分号。