从另一个类中的一个类调用函数

时间:2015-02-03 17:15:59

标签: c++

如果我将这两组.cpp.h文件设置为这样,我想在add()中添加一个a.cpp函数,它会增加十个整数和返回总和。然后我有类b将返回平均值,但我想使用从类a得到的十个整数的总和。如何在函数add()中调用函数average(),以便它可以返回总和?我不知道这是否能很好地解决我的问题,我只是试着用它来说明这个例子。

class a { 
  private: 
    int a[10];  
  public: 
    a( ); 
    int add( int); 
}; 

class b {
  private:  
    int d; 
  public: 
    int average(int ); 
}  

2 个答案:

答案 0 :(得分:0)

您可以在类的对象上调用成员函数,而不是在类本身上调用。创建对象几乎就像创建变量一样,例如a my_a;。然后,您可以将add对象的my_a成员函数用作my_a.add(42)

如果您不需要对象(但由于某种原因需要类),请使用静态成员函数和变量,如下所示。

class MyClass {
private:
  static int variable;
public:
  static int accessor() { return variable; }
};

在这种情况下,您可以调用静态成员函数,而无需创建MyClass::accessor()实例。

答案 1 :(得分:0)

class A {
   public:
      static int add(int);
};

class B {
   public:
      void average(int val){ 
          A::add(val);
          // Some logic 
      }
};