|

Klasy w Arduino

Podstawowa klasa z publicznymi polami

class Player {
public:
  int attack;
  int speed;
};

void setup() {
  Serial.begin(9600);
  Player player;
  player.attack = 5;
  Serial.print(player.attack);
}

Klasa z funkcją modyfikującą pole

class Player {
public:
  int attack;
  int speed;
};

void addPower(Player& player, int power);

void addPower(Player& player, int power) {
  player.attack += power;
}

void setup() {
  Serial.begin(9600);
  Player player;
  player.attack = 5;
  addPower(player, 2);
  Serial.print(player.attack);
}

Statyczna metoda klasy

Wewnątrz definicji klasy można tworzyć metody statyczne, które odnoszą się do wszystkich instancji klasy. Wewnątrz takiej metody nie można używać pól, czyli zmiennych odnoszących się do zmiennych instancji klasy.

static void DisplayPlayersCount(){  }

//Wywołanie funkcji:
Player:: DisplayPlayersCount();

Konstruktor

class Player {
public:
  int attack;
  int speed;

  Player(){
    attack = 0;
    speed = 0;
  }
};

C++ wywołuje domyślny konstruktor jeśli nie zostanie podany. Jest możliwość zablokowania tworzenia obiektów z domyślnym konstruktorem w poniższy sposób:

Player() = delete;

Podobne wpisy

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *