Habituellement, nous pouvons définir une variable pour une structure C ++, comme dans
struct foo {
int bar;
};
Peut-on également définir des fonctions pour une structure? Comment utiliserions-nous ces fonctions?
Réponses:
Oui, a struct
est identique à a, class
sauf pour le niveau d'accès par défaut (membre et héritage). (et le sens supplémentaire class
porte lorsqu'il est utilisé avec un modèle)
Chaque fonctionnalité prise en charge par une classe est par conséquent prise en charge par une structure. Vous utiliseriez les mêmes méthodes que celles que vous utiliseriez 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
Les structures peuvent avoir des fonctions comme les classes. La seule différence est qu'ils sont publics par défaut:
struct A {
void f() {}
};
De plus, les structures peuvent également avoir des constructeurs et des destructeurs.
struct A {
A() : x(5) {}
~A() {}
private: int x;
};