W C++ struktura to klasa, w której wszystkie elementy składowe są domyślnie public:
Strukturę można zaprzyjaźniać, dziedziczyć, polimorfizm też działa.
Jeżeli w programie, który korzysta z klas, zmienisz wszystkie wystąpienia class na struct, to działanie będzie identyczne. Więc to jest to samo.
Istnieje pewna niepisana konwencja, że jeżeli chcesz zrobić jakiś pojemnik na kilka zmiennych, gdzie nie potrzebujesz żadnych metod (funkcji do obsługi) to używasz struktury. Przykładowo: chcesz zrobić tablicę obiektów, które mogą zapisać 2 inty (1 obiekt = 2 inty).
Aby zrobić taki obiekt tworzysz sobie STRUKTURĘ o nazwie DoubleInt.
struct DoubleInt
{
int a; int b;
};
Nie ma tam metod. Ale to jest tylko taka konwencja :-)