Re: RI3PJM
>> Tek sad sam primetio (iako sam izasao na ispit) da u drugom
>> pitanju iz C++ (OOP1) u septembarskom roku kaze:
>> "Zasto se (po pravilu) definicije klasa na jeziku C++ pisu u
datotekama-zaglavljima (*.h)?"
>> Zar se ne pisu *deklaracije* u zaglavljima (kao sto pise u "Thinking in
C++", Bruce Eckel).
>> Kad sam odgovarao na pitanje, odgovarao sam za deklaracije...
> A reci mi kakva je precizno razlika izmedu definicije i deklaracije?
> BTW moda je Kraus odn. Tartalja mislio da neke metode koje su kratke
napie u zaglavlju, pa zato izraz definicija ne bi bio sasvim ispravan.
Deklaracija (prototip) metode govori samo o interfejsu neke metode i nalazi
se u DEFINICIJI klase:
- tip koji vraca
- ime metode
- argumenti (broj i tipovi)
- (eventualno) koje izuzetke baca
- {}: 'prazno telo'
Kasnije je definises izvan te klase kao ImeKlase::imeMetode(...) { <ovde
telo> }
npr:
class ImeKlase {
void imeMetode(args) throws exceptions {}; //ovo je deklaracija
};
void imeKlase::imeMetode(args) throws exceptions {
blablavla;
} //ovo je definicija
ili:
class ImeKlase {
void imeMetode(args) throws exceptions {
} //ovo je definicija
};
E sad, nesporazum je u tome sto je Tartalja pitao za klase (koje ne mozes da
deklarises vec samo da definises, a proizvoljan broj metoda te klase mozes
samo deklarisati, pa definisati kasnije), klase se po 'pravilu' (dogovor)
DEFINISU u .h fajlovima; isto tako u definiciji klase se 'pravilno' samo
deklarisu metode (sem veoma prostih, kao sto Rade rece), pa se kasnije
definisu...
Poz, Vladimir
>> pitanju iz C++ (OOP1) u septembarskom roku kaze:
>> "Zasto se (po pravilu) definicije klasa na jeziku C++ pisu u
datotekama-zaglavljima (*.h)?"
>> Zar se ne pisu *deklaracije* u zaglavljima (kao sto pise u "Thinking in
C++", Bruce Eckel).
>> Kad sam odgovarao na pitanje, odgovarao sam za deklaracije...
> A reci mi kakva je precizno razlika izmedu definicije i deklaracije?
> BTW moda je Kraus odn. Tartalja mislio da neke metode koje su kratke
napie u zaglavlju, pa zato izraz definicija ne bi bio sasvim ispravan.
Deklaracija (prototip) metode govori samo o interfejsu neke metode i nalazi
se u DEFINICIJI klase:
- tip koji vraca
- ime metode
- argumenti (broj i tipovi)
- (eventualno) koje izuzetke baca
- {}: 'prazno telo'
Kasnije je definises izvan te klase kao ImeKlase::imeMetode(...) { <ovde
telo> }
npr:
class ImeKlase {
void imeMetode(args) throws exceptions {}; //ovo je deklaracija
};
void imeKlase::imeMetode(args) throws exceptions {
blablavla;
} //ovo je definicija
ili:
class ImeKlase {
void imeMetode(args) throws exceptions {
} //ovo je definicija
};
E sad, nesporazum je u tome sto je Tartalja pitao za klase (koje ne mozes da
deklarises vec samo da definises, a proizvoljan broj metoda te klase mozes
samo deklarisati, pa definisati kasnije), klase se po 'pravilu' (dogovor)
DEFINISU u .h fajlovima; isto tako u definiciji klase se 'pravilno' samo
deklarisu metode (sem veoma prostih, kao sto Rade rece), pa se kasnije
definisu...
Poz, Vladimir
- Follow-Ups:
- Re[2]: RI3PJM
- From: Veljko Zrnic <zrnicv@EUnet.yu>
- Re: RI3PJM
- From: "Vladimir Tomic" <tomic@sezampro.yu>
- Re[2]: RI3PJM
- References:
- RI3PJM
- From: Marko Stanković <stankovic.marko@gmail.com>
- Re: RI3PJM
- From: Rade Martinovic <rocky303@gmail.com>
- RI3PJM
Previous by date: Re: izborni predmeti 5-te godine?
Next by date: Re: RI3PJM
Previous by thread: Re: RI3PJM Next by thread: Re: RI3PJM
Previous by thread: Re: RI3PJM Next by thread: Re: RI3PJM