Passaggio di un array a una classe.
Passiamo l'array alla classe in modo che i metodi della classe possano, ad esempio, sommare la somma degli elementi dell'array e restituirla:
File <addSum.h>
#pragma once
#include <Arduino.h>
class AddSum
{
public:
int getSum(int *array, byte length);
private:
};
File <addSum.cpp>
#include <addSum.h> // include il file di intestazione richiesto
int AddSum::getSum(int *array, byte length)
{
int sum = 0;
// calcolare la lunghezza dell'array
length = length / sizeof(int);
for (byte i = 0; i < length; i++)
{
sum += array[i];
}
return sum;
}
File <addSum.ino>
#include <addSum.h>
AddSum sumObject;
void setup()
{
Serial.begin(9600);
// realizzare una array
int myArray[] = {1, 2, 3, 4, 5};
// passare un array e la sua dimensione (in byte)
int arraySum = sumObject.getSum((int*)myArray, sizeof(myArray)); // arraySum = 15
Serial.println(arraySum);
}
void loop()
{
}
File keywords.txt
##################################
#Syntax addSum
##################################
#Class (KEYWORD1)
##################################
addSum KEYWORD1
AddSum KEYWORD1
##################################
#Methods and Functions (KEYWORD2)
##################################
getSum KEYWORD2