kako da pristupim objektu?
Prikazujem rezultate 1 do 5 od 5

Tema: kako da pristupim objektu?

  1. #1
    Primećen član
    Učlanjen
    03.02.2006.
    Pol
    muški
    Poruke
    607
    Tekstova u blogu
    1
    Reputaciona moć
    50

    Podrazumevano Pitanja

    ako imam dve klase ,recimo pod imenima: Avion1 i Avion2. U Avion2 zatim definishem objekat tipa Avion1 kao privatni podatak.Kako da iz main() pristupim tom objektu i njegovim podacima ?
    Poslednji put ažurirao/la blejac : 11.01.2007. u 21:25



  2. #2
    Primećen član maksvel (avatar)
    Učlanjen
    30.06.2004.
    Pol
    muški
    Poruke
    778
    Reputaciona moć
    57

    Podrazumevano Re: kako da pristupim objektu?

    Privatnom podatku ne možeš pristupati direktno, osim u datoj klasi. Napravi metod za pristup u klasi Avion2 - nešto kao:
    Kod:
    private Avion1 objekatAvion1;
    //neka inicijalizacija... objekatAvion1;
    public Avion1 getObject()
    {
    return objekatAvion1;
    }
    Let the boy try

  3. #3
    Iskusan
    Učlanjen
    06.12.2004.
    Poruke
    5.596
    Reputaciona moć
    103

    Podrazumevano Re: kako da pristupim objektu?

    [font=Verdana]Tako što u klasi Avion2 napraviš metodu avion1 ili getAvion1 koji vraća tu instancu koja ti treba. Bilo bi zgodno i kada bi napisao o kom programskom jeziku je reč.[/font]

  4. #4
    Primećen član
    Učlanjen
    03.02.2006.
    Pol
    muški
    Poruke
    607
    Tekstova u blogu
    1
    Reputaciona moć
    50

    Podrazumevano Re: kako da pristupim objektu?

    u pitanju je C++ . evo primer,upotrebio sam drugacija imena klasa jer mi je ovako bilo lakshe:

    #include <iostream.h>
    #include <conio.h>

    class rep
    {
    private:
    int duzinarepa;

    public:

    void setduzinarepa(int duz) { duzinarepa=duz; }
    int getduzinarepa() { return duzinarepa; }

    };

    class macka
    {
    private:

    rep tail;

    public:

    rep getrep() { return tail; }
    macka();
    ~macka() { }
    };

    macka :: macka()
    {
    tail.setduzinarepa(5); // znam samo ovako da pristupim privatnom objektu "tail" a posle cu objasniti zasto
    }

    main()
    {
    macka cat;

    cout << "Duzina repa: " << cat.getrep().getduzinarepa() << "\n";

    getch();

    return 0;
    }


    program sam kompajlirao i radi dobro,ali opet ne znam kako iz MAIN pristupim objektu tail ako je moguce. Ovde sam varijabli duzinarepa pristupio preko "tail" iz konstruktora ,ali kako bi to izgledalo iz main funkcije? Pokusao sam:

    cat.getrep().setuduzinarepa(10);

    Ali nece.Pa kako bi ishlo onda?
    Poslednji put ažurirao/la blejac : 02.01.2007. u 20:16

  5. #5
    Zainteresovan član
    Učlanjen
    23.08.2005.
    Poruke
    379
    Reputaciona moć
    48

    Podrazumevano Re: kako da pristupim objektu?

    Prvo, kod postuj unutar code tagova da bi bio pregledniji.
    Drugo, sve radi OK! Tj. hoće da se kompajlira! Ono što ne valja je to što ti zadaš vrednost a ona se "ne sačuva". To je zbog toga što f-ja getrep() vraca novi objekat( tj.kopiju) objekta "tail" a trebalo bi da vraća pokazivač na njega( da bi preko pokazivaca pristupio direktno objektu tail i u njega upisao vrednost).
    Evo ti code:

    Kod:
    #include <iostream>
    #include<conio.h>
    
    
    class rep
    {
    private:
    	int duzinarepa;
    
    public:
    
    	void setduzinarepa(int duz)		{ duzinarepa=duz; }
    	int getduzinarepa()				{ return duzinarepa; }
    
    };
    
    class macka
    {
    private:
    	rep tail;
    
    public:
    	macka();
    	rep* getrep()			{ return &tail; }
    };
    
    macka :: macka()
    {
    	tail.setduzinarepa(5);
    }
    
    
    
    
    main()
    {
    	macka cat;
    
    	cat.getrep()->setduzinarepa(144);
    
    	cout << "Duzina repa: " << cat.getrep()->getduzinarepa() << "\n";
    
    	getch();
    	return 0;
    }
    Samo jedan klub--samo jedan grad---
    samo Z E T A bre
    kakav partizan

Slične teme

  1. Nemogu da pristupim particiji ???
    Autor sasa6 u forumu Sigurnost i zaštita
    Odgovora: 51
    Poslednja poruka: 01.10.2008., 10:49
  2. Odgovora: 11
    Poslednja poruka: 17.12.2006., 01:06

Pravila za slanje poruka

  • Ne možete kreirati novu temu
  • Ne možete poslati odgovor
  • Ne možete dodati priloge
  • Ne možete prepraviti svoju poruku
  •