Metode

2

Metode

offline
  • Pridružio: 15 Maj 2012
  • Poruke: 396

Napisano: 19 Sep 2014 13:23

Jer mi ovo bas i nije jasno. Da prvo deklarisem te metode u klasi pa ih posle definisem van klase i napisem kod kakav bih napisao i kao da pravim funkciju u C-u. Ja bih hteo da ta metoda trazi od korisnika da unese sta se trazi pa da smesti u pokazivace u klasi. A onda druga metoda da ispise iz pokazivaca ono sto je korisnik uneo. Na primer, prva metoda trazi da unese ime i prezime, korisnik unese neko ime i prezime i onda druga metoda da to ispise. I onda posle mi nekako nije logicno kako da tu funkciju pozovem u glavnoj funkciji kao objekat.metoda();

Da li to moze nekako da se tako uradi, ili moram da predjem onaj deo sa statickim clanovima klase da bih to mogao da uradim? Na to sam mislio.

Dopuna: 19 Sep 2014 13:26

Sad sam procitao onaj tvoj odgovor, ali mi nije jasno kad pozivam funkciju. Zasta ce meni taj objekat kojim pozivam da sluzi. To mi nije jasno. Ako bi mogao da mi to malo pojasnis kako da uradim?



Registruj se da bi učestvovao u diskusiji. Registrovanim korisnicima se NE prikazuju reklame unutar poruka.
offline
  • Milan
  • Pridružio: 17 Dec 2007
  • Poruke: 14811
  • Gde živiš: Niš

Uh bre, teraš me da uključujem komp. Bebee Dol

Ajde javljam se za par minuta sa primerom.



offline
  • Pridružio: 15 Maj 2012
  • Poruke: 396

haha, ajde. Ako imas nekih obaveza samo mi reci kako bih to mogao da napravim, ako ne mogao bih jedan primer da padne.Very Happy

offline
  • Milan
  • Pridružio: 17 Dec 2007
  • Poruke: 14811
  • Gde živiš: Niš

#include <string.h> #include <iostream> using namespace std; class Stadion { private:    //ovo su privatni ATRIBUTI (dakle, NISU pokazivaci u opstem slucaju)    int duzina;    int sirina;    char ime[40];    //privatnim atributima se moze pristupati samo pomocu funkcija clanica    //i pomocu prijateljskih funkcija (to je dalja prica za sada) public:    Stadion();   //podrazumevani konstruktor    ~Stadion();   //destruktor    void postaviDuzinu();   //prvi pristup, f-ja bez argumenta    void postaviDuzinu(int);   //drugi pristup, duzina se prenosi kao argument f-je    int vratiDuzinu();   //funkcija koja vraca duzinu    void postaviSirinu();   //prvi pristup, f-ja bez argumenta    void postaviSirinu(int);   //drugi pristup, sirina se prenosi kao argument f-je    int vratiSirinu();   //funkcija koja vraca sirinu    void postaviIme();   //prvi pristup, f-ja bez argumenta    void postaviIme(char*);   //drugi pristup, ime se prenosi kao argument f-je    char* vratiIme();   //funkcija koja vraca ime }; Stadion::Stadion() {    cout << "Stadion je izgradjen!" << endl; } Stadion::~Stadion() {    cout << "Stadion je srusen!" << endl; } void Stadion::postaviDuzinu() {    int duz;    cout << "Unesite duzinu stadiona: ";    cin >> duz;    if (duz > 0)       duzina = duz;    else       cout << "Uneli ste neispravnu duzinu." << endl; } void Stadion::postaviDuzinu(int duz) {    if (duz > 0)       duzina = duz;    else       cout << "Uneli ste neispravnu duzinu." << endl; } int Stadion::vratiDuzinu() {    return duzina; } //Za sirinu odradi sam, isto je potpuno void Stadion::postaviIme() {    cout << "Unesite ime stadiona: ";    cin >> ime; } void Stadion::postaviIme(char* im) {    strcpy(ime, im); } char* Stadion::vratiIme() {    return ime; }
void main() {    Stadion Marakana;   //kreira se objekat tipa Stadiona sa identifikatorom Marakana                   //tom prilikom se poziva podrazumevani konstruktor obzirom da nema argumenata    Marakana.postaviDuzinu(100);   //postavlja se vrednost privatnog atributa duzina na 100    Marakana.postaviIme("Marakana");   //postavlja se vrednost privatnog atributa ime na "Marakana"    cout << "Ime stadiona: " << Marakana.vratiIme() << endl;   //f-ja vratiIme() vraća pokazivač na ime, i isto se štampa kao argument operatorske funkcije <<    cout << "Duzina stadiona: " << Marakana.vratiDuzinu() << endl; //isto kao gore }

offline
  • Pridružio: 19 Maj 2011
  • Poruke: 297

Citat:
... void main() ...


Vaso, nije ti ovo Java. Very Happy
Svaki normalan kompajler koji prati c++ standard bi trebao da ti izbaci bar warning na ovo.

offline
  • Pridružio: 15 Maj 2012
  • Poruke: 396

Vaso, znam ja to da uradim, nisam mislio na to. Nego vidis ovako, na primer, ovu funkciju void postaviIme(), ja zelim da tu funkciju pozovem da odradi svoj posao, tj. da radi ono sto si napisao da trazi od korisnika da unese ime pa da da stadionu ime. I ja tako isto napravim, ali posle ne znam kako da je pozovem.

Da li bi mogla da funkcija da se pozove sa Marakana.postaviIme();?

offline
  • Milan
  • Pridružio: 17 Dec 2007
  • Poruke: 14811
  • Gde živiš: Niš

Napisano: 19 Sep 2014 16:53

crusher ::Da li bi mogla da funkcija da se pozove sa Marakana.postaviIme();?Naravno.

Dopuna: 19 Sep 2014 16:55

vasa.93 ::Vaso, nije ti ovo Java. Very Happy
Svaki normalan kompajler koji prati c++ standard bi trebao da ti izbaci bar warning na ovo.
VS koristim, nisam obratio pažnju na upozorenja. Very Happy No, ironično, ali kad pišem program u Javi uvek navodim glavnu funkciju sa argumentima... Mr. Green

offline
  • Pridružio: 15 Maj 2012
  • Poruke: 396

E hvala ti. Samo sam hteo jos nesto da te pitam. Da li je bolje da koristim pokazivace umesto nizova za promenljive u klasi pa da napravim dinamicku zonu memorije ili da pravim ovako kako si ti?

offline
  • Milan
  • Pridružio: 17 Dec 2007
  • Poruke: 14811
  • Gde živiš: Niš

Sve zavisi od programa do programa, od obima podataka koje program obrađuje itd. Svakako, ako radiš sa dinamičkom alokacijom obrati pažnju na to da moraš da implementiraš i destruktor koji će da oslobađa prostor prilikom uništenja objekta.

offline
  • Pridružio: 19 Maj 2011
  • Poruke: 297

vasa.93 ::No, ironično, ali kad pišem program u Javi uvek navodim glavnu funkciju sa argumentima... Mr. Green

Mislio sam na povratni tip, a inace argumenti su opcionalni u c++.

Ko je trenutno na forumu
 

Ukupno su 898 korisnika na forumu :: 30 registrovanih, 6 sakrivenih i 862 gosta   ::   [ Administrator ] [ Supermoderator ] [ Moderator ] :: Detaljnije

Najviše korisnika na forumu ikad bilo je 3466 - dana 01 Jun 2021 17:07

Korisnici koji su trenutno na forumu:
Korisnici trenutno na forumu: Boris90, cavatina, darkojbn, Denaya, Dimitrise93, galerija, gasha, ikan, jackreacher011011, Leonov, Lieutenant, Lubica, LUDI, mercedesamg, Metanoja, Milos ZA, mkukoleca, mnn2, nemkea71, nuke92, ostoja, ozzy, Petarvu, RJ, rodoljub, stalja, stegonosa, Vatreni Zmaj, VJ, vlajkox