Czym jest i czy ró?żni się definicja

Odpowiedz Nowy wątek
2003-08-22 13:27
0

Hey
[???] Czy ktoś zna odpowiedź na to pytanie:
Czym jest i czy różni się definicja:
struct ROsoba
{ char nazwisko [20];
....
}

od definicji:
class TOsoba
{private
char nazwisko;
public
TOsoba (void)
{nazwisko = NULL;
~TOsoba (void);
void Wprowadz (char
s);
void Wyswietl ( );

Pozostało 580 znaków

2003-08-22 14:13
0
  1. Pierwsze to struktura, a drugie klasa. Co za tym idzie dla klasy istniej np. VMT, masz możliwość określenia jaka część klasy jest widzialna, dodać funkcje do obsługi klasy itp.
  2. Masz tablicę 20-elementową w strukturze, a w klasie masz jedynie wskaźnik na tablicę.

Jest jeszcze jeden błąd :)
Unix is user friendly. It's just very particular about who it's friends are.

Pozostało 580 znaków

2003-08-22 19:37
0
  1. AFAIK klasa = struktura in c++, jedyna róznica to to, że klasa ma pola domyślnie private, a struktura public

Life is just a dream, you know...
[Cowboy Bebop]

Pozostało 580 znaków

2003-08-23 00:38
radi
0

Niezupełnie, w według definicji języka C++ struktura służy jako agregat danych czyli może zawierać w sobie tylko dane, żadnych funkcji. Klasa nie ma takich ograniczeń. Tyle tylko, że sprawa ta jest różnie traktowana przez rożne kompilatory ...

Pozostało 580 znaków

2003-08-23 08:59
0

Niezupełnie, w według definicji języka C++ struktura służy jako agregat danych czyli może zawierać w sobie tylko dane, żadnych funkcji. Klasa nie ma takich ograniczeń. Tyle tylko, że sprawa ta jest różnie traktowana przez rożne kompilatory ...

Jest tak jak pisze Vogel . W strukturze wszystkie składowe są domyślnie publiczne . To , że można w strukturze zadeklarować funkcje jest właściwością języka C++ a nie danego kompilatora .
C++ Dla Każdego :

"Możesz zadeklarować strukturę dokładnie tak jak klasę ; możesz zastosować w niej te same zmienne i funkcje składowe . Gdy przestrzegasz jawnego deklarowania publicznych i prywatnych sekcji klasy , nie ma żadnej róznicy pomiędzy klasą a strukturą ."


Pozostało 580 znaków

2003-08-23 10:01
0

To ja już wolę klasy z Pascala. Tam przynajmniej wiem, jakie mam korzyści z ich stosowania. Tutaj nic ponad wygodę nie zyskuję.


Jest jeszcze jeden błąd :)
Unix is user friendly. It's just very particular about who it's friends are.

Pozostało 580 znaków

2003-08-23 13:40
radi
0

Ja mówiłem o formalnej definicji języka C++. Są takie kompilatory, które nie akceptują funkcji w strukturze. Zresztą, według mnie, dobrą praktyką jest używanie struktur tylko do danych. Dlatego właśnie wymyślono klasy w C++ żeby odróżnić się od struktur klasycznego C. Niech struktura pozostanie strukturą, a klasa - klasą :-)

Pozostało 580 znaków

2003-08-25 01:19
0

W MSDN-ie napisano :

In C++, a structure is the same as a class except that its members are public by default.

Wiec na kazdym kompilatorze C++ powinna sie skompilowac struktura z metodami
bez zadnych bledow - bo taka jest specyfikacja jezyka - a tego kompilatory
musza sie trzymac :) (ofcoz dodaja tez swoje usprawnienia itp ale podstawy
musza wypelniac).


Pozostało 580 znaków

2003-08-25 14:02
radi
0

Zdarzyło mi się pisać na kompilatorze bodaj edukacyjnym. Stąd te moje
posty. Aczkolwiek dalej uważam, żeby zostawić struktury w spokoju jeśli chodzi o dane, i używać klas :-) Ale to moje zdanie

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0