Nowe posty

Autor Wątek: [c++] linijka z programu  (Przeczytany 2214 razy)

kordi

  • Gość
[c++] linijka z programu
« dnia: 2013-03-19, 00:56:52 »
Analizuje program, ktory zostal napisany obiktowo i mam pytanie odnosnie nastepujacej linii:

Ref ark = new Assigned;
Czy to tworzy obiekt klasy w sposob dynamiczny? No niestety nie wiem...

Chcialbym rowniez zapytac, jaka ksiazke polecanie do nauki programowania obiektowego. W szczegonie szukam czegos, co przyda sie w zastosowaniach matematycznych, fizycznych.

Mam Symfonie, ale przyklady o imie, nazwisko, itp do mnie nie docieraja.

Offline ultr

  • Users
  • Guru
  • *****
  • Wiadomości: 1177
    • Zobacz profil
[c++] linijka z programu
« Odpowiedź #1 dnia: 2013-03-19, 09:25:52 »
Cytat: kordi
Czy to tworzy obiekt klasy w sposob dynamiczny?
= new Assigned;
Tak, tworzy ;)

Ref jest zapewne jakąś templatową klasą pozwalającą przypisać do siebie wskaźnik do obiektu, a zapisującą w sobie, zgodnie z nazwą, referencję do tego obiektu.
Takie klasy mogą być przydatne do różnych rzeczy, np. do automatycznego niszczenia obiektów, gdy nie są już używane (smart pointers). Ale to dość zaawansowane użycie C++, raczej nie do nauki na początek.

Bez stosowania takiej klasy można równie dobrze napisać:
Assigned *ark = new Assigned;
.

Cytat: kordi
Chcialbym rowniez zapytac, jaka ksiazke polecanie do nauki programowania obiektowego. W szczegonie szukam czegos, co przyda sie w zastosowaniach matematycznych, fizycznych.

Mam Symfonie, ale przyklady o imie, nazwisko, itp do mnie nie docieraja.
Może ktoś zna jakąś pasującą do opisu książkę, ale ja mogę polecić wyłącznie Internet i Google. Jest dużo kursów, a taki opisujący np. tworzenie klasy dla liczb zespolonych, wektorów czy macierzy wraz z operacjami na nich zapewne do ciebie przemówi ;)
Np.: http://en.literateprograms.org/Complex_numbers_%28C_Plus_Plus%29