如何传递对象或对函数的引用?

How to pass an object or reference to a function?

我想在以下方面寻求帮助.. 如何传递对象或函数引用?

#include <Encoder.h>

// Default Encoder class
Encoder mainEncoder( 2, 3 );

// My class
class MyClass {

  private:
    Encoder *Enc;
    int value;

  public:
    MyClass( Encoder *Enc, int value ) {
      Enc->write( value );
    }

    int read() {
      return Enc->read();
    }

}

// Create..
MyClass Encoder( &mainEncoder, 50 );

// Loop...
int encoderOut = Encoder.read();

这种方式根本行不通

代码不初始化 MyClass::Enc(也不 value)。

修复:

MyClass( Encoder *Enc, int value ) 
    : Enc(Enc) // <---- initialize Enc.
{
    Enc->write(value);
}