Zazwyczaj możemy zdefiniować zmienną do C++ struktury, jak wfunkcja dla C++ struct
struct foo {
int bar;
};
możemy również zdefiniować funkcje struct? Jak wykorzystamy te funkcje?
Zazwyczaj możemy zdefiniować zmienną do C++ struktury, jak wfunkcja dla C++ struct
struct foo {
int bar;
};
możemy również zdefiniować funkcje struct? Jak wykorzystamy te funkcje?
Tak, struct
jest identyczny z class
z wyjątkiem domyślnego poziomu dostępu (w zależności od użytkownika i dziedziczenia). (i dodatkowe znaczenie class
przenosi się w przypadku użycia z szablonem)
Każda funkcjonalność obsługiwana przez klasę jest konsekwentnie wspierana przez strukturę. Używałbyś metod tak samo, jak używałbyś ich dla klasy.
struct foo {
int bar;
foo() : bar(3) {} //look, a constructor
int getBar()
{
return bar;
}
};
foo f;
int y = f.getBar(); // y is 3
Struktury mogą mieć funkcje podobne do klas. Jedyną różnicą jest to, że są one domyślnie publiczne:
struct A {
void f() {}
};
Dodatkowo, konstruktory mogą również zawierać konstruktory i destruktory.
struct A {
A() : x(5) {}
~A() {}
private: int x;
};
Tak. Tak samo, jak w przypadku klasy w C++ – DumbCoder