+ Reply to Thread
Results 1 to 6 of 6

Thread: Basic syntax

  1. #1

    Basic syntax

    Zdravim laicky mi vie nikto vysvetlit co znamena v C++ ked do metody triedy dam :

    napr.

    Code:
    class Item{
    		int value;
    		item* next;
    	public:
    		Item(int value, Item* Next): value(value),next(next){  }
    
    		int get_value(){  return value; }
    		void set_value(int new_value){ 	value = new_value;}	
    
    		print() { cout << value << “ ”; }
    		friend list;
    
    };
    A nejaky ekvivalent k tejto syntaxi, dakujem.
    Last edited by Werewolf; 30.03.2011 at 15:35.

  2. #2
    Neviem čo presne myslíš, ale dvojbodka nasledovaná premennými triedy znamená inicializáciu v konštruktore. To friend list; znamená, že trieda, štruktúra list alebo čo to je bude mať prístup k privátnym premenným triedy Item. Inak tam nič také zvláštne nevidím.

  3. #3
    Ako ja som nech8pal 4o je toto:
    Code:
    Item(int value, Item* Next): value(value),next(next){  }
    Ale už viem, že ekvivalentom k tom je toto:
    Code:
    Item(int value, Item* Next)
    {
         value = this->value;
         next = this->next;
    }
    Aspon tak som to pochopil.
    Všetko o hrách a novinkách s herného sveta nájdete na http://the-guild.cz/.

  4. #4
    No len si to mohol aj napísať, že čo nechápeš :-p A ekvivalent to je len na oko. Skús napr.: toto:
    Code:
    class Item{
        const int value;
    
    	public:
        Item(int value) : value(value) {}
        Item(int value) {
          this->value = value;  // priradenie do koštanty = chyba
        }
    };
    To prvé je inicializácie v konštruktore ako som ti napísal. To druhé je obyčajné priradenie do premennej. Ak to spravíš druhým spôsobom tak prekladač vygeneruje toto:
    Code:
    class Item{
        const int value;
    
    	public:
        Item(int value, char *str="") : value(value) {}
        Item(int value) : value() {
          this->value = value;  // chyba
        }
    };
    Najprv vytvorí premennú a potom jej priradí hodnotu.

    Prvý spôsob je lepší a efektívnejší pretože rovno inicializuje premennú.

  5. #5
    Hej je to mozne este C++ neovladam na takej urovni aby som si to vedel zhodnotit.
    Všetko o hrách a novinkách s herného sveta nájdete na http://the-guild.cz/.

  6. #6
    Quote Originally Posted by Werewolf View Post
    Code:
    Item(int value, Item* Next)
    {
         value = this->value;
         next = this->next;
    }
    Trochu opacne ne? this ma byt pred rovnitkem. Ale tak z prispevku od m->29 to je videt.

+ Reply to Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts