Wskaźnik do obiektu wywołany na stercie

Wskaźnik do obiektu wywołany na stercie
IX
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 38
0

Potrzebuję napisać program z jedną klasą. W klasie zdefiniować metodę. W funkcji main() wywołać metodę obiektem, wskaźnikiem do obiektu zdefiniowany na stercie.
Nie do końca wiem, czy ten kod mam dobry.

Kopiuj
class klasa{public:int metoda();};
int main()
{
   	klasa obiekt;
   	obiekt.metoda();
   	klasa* wskaznik = new klasa();
   	wskaznik->metoda();
}
int klasa::metoda(){return 0;} 
twonek
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 2500
0

Ogólnie tak.

Jest tylko jedna mała rzecz, na którą warto zwrócić uwagę.

Kopiuj
klasa* wskaznik = new klasa();

Jeśli chcesz korzystać z konstruktora bez parametrowego, to lepiej pomiń nawiasy:

Kopiuj
klasa* wskaznik = new klasa;

W tym przypadku nie ma znaczenia, ale jeśli wszędzie będziesz pisał klasa() to kiedyś możesz natrafić na jeden bardzo dziwny i nieprzyjemny błąd. Po szczegóły odsyłam do googla pod hasłem "c++ the most vexing parse".

kaczus
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Łódź
  • Postów: 1403
0

na pewno brakuje

Kopiuj
delete wskaźnik;

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.