Tak, a structjest identyczny z a, classz wyjątkiem domyślnego poziomu dostępu (według członków i dziedziczenia). (i dodatkowe znaczenieclass ma zastosowanie z szablonem)
Każda funkcjonalność obsługiwana przez klasę jest konsekwentnie obsługiwana przez strukturę. Używałbyś metod tak samo, jak używałbyś ich dla klasy.
structfoo {int bar;
foo() : bar(3) {} //look, a constructorintgetBar(){
return bar;
}
};
foo f;
int y = f.getBar(); // y is 3
Odpowiedzi:
Tak, a
struct
jest identyczny z a,class
z wyjątkiem domyślnego poziomu dostępu (według członków i dziedziczenia). (i dodatkowe znaczenieclass
ma zastosowanie z szablonem)Każda funkcjonalność obsługiwana przez klasę jest konsekwentnie obsługiwana 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
źródło
Struktury mogą mieć funkcje tak jak klasy. Jedyna różnica polega na tym, że są one domyślnie publiczne:
struct A { void f() {} };
Ponadto struktury mogą również zawierać konstruktory i destruktory.
struct A { A() : x(5) {} ~A() {} private: int x; };
źródło