Creazione automatica di oggetti.

La creazione di una classe implica anche la creazione di un oggetto, ma a volte una libreria viene scritta per un solo oggetto (ad esempio, una libreria per lavorare con un'interfaccia) e la creazione di un oggetto in uno schizzo sembra codice extra. Ma, se apri qualche esempio usando la libreria Wire.h, non troverai lì la creazione dell'oggetto Wire, ma è usato. Per esempio:
#include <Wire.h>
void setup() 
     Wire.begin();
}
Usiamo l'oggetto Wire, ma non lo abbiamo creato. A volte può essere conveniente, come farlo, devi solo aggiungere una riga al file di intestazione:
extern nome_classe nome_oggetto;
E in file.cpp, se esiste, aggiungi:
nome_classe nome_oggetto = nome_classe();
Pertanto, l'oggetto verrà creato all'interno della libreria e saremo in grado di usarlo dallo schizzo. Esempio:

File <Creating_Object.h>
#pragma once
#include <Arduino.h>
class Creating 
     public: 
          int getMultiply(int value); 
     private:
};
extern Creating creatingObject;

File <Creating_Object.cpp> 
#include <Creating_Object.h> // include il file di intestazione richiesto
int Creating::getMultiply(int value) 
     return value*5;
}
Creating creatingObject = Creating();

File <Creating_Object.ino> 
#include <Creating_Object.h>
// l'oggetto non è stato creato
void setup() 
     Serial.begin(9600); 
     Serial.println(creatingObject.getMultiply(32));
}
void loop() 
{
}

File keywords.txt
##################################
#Syntax Creating_Object
##################################
#File name and Class (KEYWORD1)
#################################
Creating_Object KEYWORD1
#################################
#Methods and Functions (KEYWORD2)
#################################
getMultiply KEYWORD2
Crea il tuo sito web gratis! Questo sito è stato creato con Webnode. Crea il tuo sito gratuito oggi stesso! Inizia