Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Wyższość klasy nad strukturą?

Ostatnio zmodyfikowano 2012-09-20 13:45
Autor Wiadomość
bingo009
Temat założony przez niniejszego użytkownika
Wyższość klasy nad strukturą?
» 2012-09-07 19:00:29
Witam was serdecznie, ostatnio poruszyłem sobie w myślach taki temat:
Dlaczego większość ludzi używa najwięcej klas, a nie struktur?

Dobra, programowanie obiektowe jest wygodne, dobre i ogółem "fajne", no ale przecież w strukturze też mamy metody, pola, dziedziczenie, więc mimo wszystko, czemu i tak najczęściej klasy są wykorzystywane? Mam nadzieję, że mi to wyjaśnicie i powiecie czemu tak jest. Zapraszam do dyskusji.
P-64521
akwes
» 2012-09-07 19:16:51
W c++ jedyną różnicą między class a struct jest to że class ma pola domyślnie prywatne, zaś struct ma pola domyślnie publiczne.

a zapis

C/C++
struct A
{
private:
   
    /* reszta kodu */
};

jest równe

C/C++
class A
{
   
};
P-64523
Mrovqa
» 2012-09-07 20:16:45
i przy dziedziczeniu, gdy nie poda się sposobu, to domyślnie klasa (klasę?) dziedziczy się prywatnie, a strukturę - publicznie :)
P-64529
bingo009
Temat założony przez niniejszego użytkownika
» 2012-09-07 20:55:52
No ale mamy takie coś jak public, private czy protected, więc ta różnica mi nie wiele mówi, czemu najczęściej(prawie zawsze) wykorzystuje się klasy. W strukturze mamy tak samo praktycznie.
P-64532
Mrovqa
» 2012-09-07 21:19:16
Tu chodzi o historię. Dawniej używało się C i tam nie było klas. Struktur nie dziedziczyło się, chyba(!) nie było metod... Potem wszedł taki C++ z nowością (OOP) i wprowadził klasy, przyjęło się tak, że się ich używa. Jednakże, by nie zostawiać struktur gorszymi, to je też się wzbogaciło. Struktur często używa się jako pudełka na dane, klas natomiast, jako coś odzwierciedlające obiekty w świecie rzeczywistym, np. w grach klasa 'obiekt' mogąca być samochodem czy balonikiem ;)

//wiem, wiem... tak niezbyt wyszedł mi powyższy post pod kątem poprawności językowej...
P-64537
ison
» 2012-09-07 21:23:08
No ale mamy takie coś jak public, private czy protected, więc ta różnica mi nie wiele mówi, czemu najczęściej(prawie zawsze) wykorzystuje się klasy. W strukturze mamy tak samo praktycznie.
public, private i protected masz tak samo w strukturach jak i w klasach, klasy sie wykorzystuje bo mają ładną nazwę :P
no i jakoś tak się przyjęło, że najcześciej używa się struktur jako agregatów
P-64540
akwes
» 2012-09-07 21:25:03
Struktura to pozostałość po C, która została zachowana, aby programy w C się kompilowały. Struktury w C były dużo bardziej ograniczone, tak jak wspomniał @up. Class to po prostu rozwiązanie C++, i dla porządku się używa class zamiast struct z etykietą private. Jak komuś się nie chce pisać publicznej klasy to robi sobie structurę i też jest ok.
P-64541
RazzorFlame
» 2012-09-08 14:53:05
Heh pierwsze słysze żeby struktura miała public, private i protected. Wydaje mi sie że w kursach które czytałem tego nie było (fajny kurs jest na www.guidecpp.cal.pl)
P-64572
« 1 » 2 3
  Strona 1 z 3 Następna strona