123 votes

Fonction pour les structures C++

Habituellement, nous pouvons définir une variable pour un struct C++, comme dans

struct foo {
  int bar;
};

Peut-on également définir des fonctions pour une structure ? Comment utiliser ces fonctions ?

203voto

Luchian Grigore Points 136646

Oui, un struct est identique à un class sauf pour le niveau d'accès par défaut (par membre et par héritage). (et la signification supplémentaire class porte lorsqu'il est utilisé avec un modèle)

Chaque fonctionnalité supportée par une classe est par conséquent supportée par une structure. Vous utiliserez les méthodes de la même manière que pour une classe.

struct foo {
  int bar;
  foo() : bar(3) {}   //look, a constructor
  int getBar() 
  { 
    return bar; 
  }
};

foo f;
int y = f.getBar(); // y is 3

55voto

0x499602D2 Points 36421

Les structures peuvent avoir des fonctions tout comme les classes. La seule différence est qu'ils sont publics par défaut :

struct A {
    void f() {}
};

De plus, les structs peuvent également avoir des constructeurs et des destructeurs.

struct A {
    A() : x(5) {}
    ~A() {}

    private: int x;
};

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X