Use a class instanciation in a constructor

Hello everyone,

I have a problem with my custom librairy. I try to use SoftwareSerial in my custom class constructor and make this instanciation global.

Here's my code to better understand:

.h file:

class WATC {
	private:
		int m_RxPin;
		int m_TxPin;
		String m_WifiMdp;
		String m_ServerName;
		SoftwareSerial m_ESP8266;
	
	public:
		WATC(int, int, String, String);
                void initWatc();

};

.cpp file:

WATC::WATC(int rxpin, int txpin, String wifiMdp, String serverName){
	m_RxPin = rxpin;
	m_TxPin = txpin;
	m_WifiMdp = wifiMdp;
	m_ServerName = serverName;
	
	SoftwareSerial m_ESP8266(m_TxPin, m_RxPin);
};

void WATC::initWatc(){
	Serial.begin(9600);
	m_ESP8266.begin(115200);
	sendToEsp("AT+UART_DEF=9600,8,1,0,0");
	m_ESP8266.begin(9600); 
	
}

i want to use m_ESP8266 in another method.
Thanks for your help i'm new to arduino development

Use a member initializer list:

[color=#00979c]class[/color] [color=#000000]WATC[/color] [color=#000000]{[/color]
  [color=#00979c]private[/color][color=#434f54]:[/color]
    [color=#00979c]String[/color] [color=#000000]m_WifiMdp[/color][color=#000000];[/color]
    [color=#00979c]String[/color] [color=#000000]m_ServerName[/color][color=#000000];[/color]
    [b][color=#d35400]SoftwareSerial[/color][/b] [color=#000000]m_ESP8266[/color][color=#000000];[/color]
  
  [color=#00979c]public[/color][color=#434f54]:[/color]
    [color=#000000]WATC[/color][color=#000000]([/color][color=#00979c]int[/color] [color=#000000]rxpin[/color][color=#434f54],[/color] [color=#00979c]int[/color] [color=#000000]txpin[/color][color=#434f54],[/color] [color=#00979c]String[/color] [color=#000000]wifiMdp[/color][color=#434f54],[/color] [color=#00979c]String[/color] [color=#000000]serverName[/color][color=#000000])[/color][color=#000000];[/color]
    [color=#00979c]void[/color] [color=#000000]initWatc[/color][color=#000000]([/color][color=#000000])[/color][color=#000000];[/color]
[color=#000000]}[/color][color=#000000];[/color]

[color=#000000]WATC[/color][color=#434f54]:[/color][color=#434f54]:[/color][color=#000000]WATC[/color][color=#000000]([/color][color=#00979c]int[/color] [color=#000000]rxpin[/color][color=#434f54],[/color] [color=#00979c]int[/color] [color=#000000]txpin[/color][color=#434f54],[/color] [color=#00979c]String[/color] [color=#000000]wifiMdp[/color][color=#434f54],[/color] [color=#00979c]String[/color] [color=#000000]serverName[/color][color=#000000])[/color]
  [color=#434f54]:[/color] [color=#000000]m_WifiMdp[/color][color=#000000]([/color][color=#000000]wifiMdp[/color][color=#000000])[/color][color=#434f54],[/color] [color=#000000]m_ServerName[/color][color=#000000]([/color][color=#000000]serverName[/color][color=#000000])[/color][color=#434f54],[/color] [color=#000000]m_ESP8266[/color][color=#000000]([/color][color=#000000]rxpin[/color][color=#434f54],[/color] [color=#000000]txpin[/color][color=#000000])[/color] [color=#000000]{[/color][color=#000000]}[/color]

Pieter

Pieter you save my day :slight_smile:

Thanks a lot