2016-03-28 8 views
0

私は間違った名前を呼んだ場合、私はこれを非常に新しくしてくれます。私がしようとしているのは、クラスのインスタンスを別のクラスのコンストラクタに渡すことです。私はこれらが通常.hと.cppファイルで行われていることを知っていますが、実行していたコードは気にしないようですが、間違っている可能性があります。私はクラスのdefsとコンストラクタを除いてほとんどのコードを取り出しました。Arduinoが別のクラスのコンストラクタのパラメータとして1つのオブジェクトを渡す

Coldthermのようなサーミスタの既存のインスタンスを自分のコードに入れてTempcontrollerのコンストラクタに渡したいので、printthertheristor関数で表示されているようにcoldthermを呼び出すことができます。

//Thermistor Class 
    class Thermistor 
{ 

    int Thermpin; 

public: 
    Thermistor(int pin) 
    { 
    Thermpin = pin; 
    } 


double TEMPOutput() 
    { 
    return Thermpin; 
    } 
void Update() 
    { 

    } 
}; 

Thermistor coldtherm(1); 

//Tempcontrol Class 
class TempController 
{ 

public: 

TempController(Thermistor&) //Right here I want to pass in coldtherm to the Tempcontroller and be able to call functions from that class. 


void printfromthermistor() 
{ 

    Thermistor.TEMPOutput(); 
} 


}; 

答えて

0

重複this

参照は初期化のみ可能で、変更はできません。

class TempController 
{ 
    Thermistor & member; 
public: 
    TempController(Thermistor & t) { member = t; }; // assignment not allowed 
    TempController(Thermistor & t) : member(t) { }; // initialization allowed 
} 
:あなたが示しているように、コンストラクタでそれを使用するには、基準部材が は、コンストラクタでを初期化しなければならないことを意味します
関連する問題