Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

c++ pocetak, par pitanja

[es] :: C/C++ programiranje :: c++ pocetak, par pitanja

[ Pregleda: 1992 | Odgovora: 2 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

Valerij Zajcev

Član broj: 40886
Poruke: 1374
*.dynamic.sbb.co.yu.



+2 Profil

icon c++ pocetak, par pitanja03.04.2007. u 11:24 - pre 207 meseci
Poceo sam konacno da ucim c++, zavrsio sam prvih 7 dana knjige i sad sam poceo ponovo malo detaljnije ali ne nalazim neke odgovore pa...
1) Imam dekilaraciju klase i definiciju klase treba da ih smestim u dve datoteke jedna je deklaracija (pirat.hpp), a druga je definicija (pirat.cpp) {linux naravno}. Kako da povezem ove dve datoteke, ja probam sa
gcc pirat.hpp pirat.cpp -o pirat ali uvek mi javi gresku oko povezivanja, imam osecaj da koristim pogresnu komandu, sta da radim sa ovim?
2) Sta je void, sta radi?
 
Odgovor na temu

karas

Član broj: 5574
Poruke: 482
*.routotelecom.com.



+1 Profil

icon Re: c++ pocetak, par pitanja03.04.2007. u 16:03 - pre 207 meseci
1) g++ pirat.cpp -o pirat jer koristish C++ a zaglavlje se ne kompajlira.
2) void se koristi za deklarisanje funkcije koja ne vracca nishta.

Sveti Avgustin: "Dobar hrišćanin treba da se kloni matematičara i svih onih koji daju lažna proročanstva. Postoji opasnost da su matematičari već sklopili pakt sa Đavolom, da pomrače čovekov um i da ga okuju okovima pakla."
 
Odgovor na temu

Mali Misha
Mihajlo Anđelković
NBGD

Član broj: 79396
Poruke: 379
89.190.198.*

ICQ: 195487525
Sajt: cpptea.com


+1 Profil

icon Re: c++ pocetak, par pitanja03.04.2007. u 16:59 - pre 207 meseci
2) Void znači označava nešto čega nema. Kako karas reče npr. kod funkcije koja ne vraća ništa:

Code:
void saberi(int *prviSabirak, int *drugiSabirak, int *zbir)
{ *zbir = *prviSabirak + *drugiSabirak; }


Ako takvu f-ju treba igde da prekineš sa return, treba tamo da ostaviš, pa... ništa. Ovako:
Code:
void saberi(int *prviSabirak, int *drugiSabirak, int *zbir)
{
    // ne dopušta da ijedan od pokazivača bude NULL
    if(!(prviSabirak && drugiSabirak && zbir)) return;

    *zbir = *prviSabirak + *drugiSabirak;
}


Još jedna primena void je za tip pokazivača koji pokazuje na neodređen tip, void*. Sledeća f-ja ne radi ništa pametno. Samo demonstrira princip.
Code:
int main()
{
    int intArray[25];
    double doubleArray[25];    
    
    void * p;

    int *pIntArray;
    double *pDoubleArray;

    p = (void*)intArray;
    pIntArray = (int*)p;

    p = (void*)doubleArray;
    pDoubleArray = (double*)p;
    
    // vratiće warning jer se ni jedan od pokazivača ne koristi

    return 0;
}

Ipak se ++uje.
 
Odgovor na temu

[es] :: C/C++ programiranje :: c++ pocetak, par pitanja

[ Pregleda: 1992 | Odgovora: 2 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.