Variable einer Klasse ändern



  • Hallo, habe folgendes Problem:

    die Klasse Spieler:

    class player{
    	public:
    		//Attribute
    		int cube[2];
    
    		//Konstruktor
    		player(int i);
    
    		//Methoden
    		void dice();
    
    };
    

    die Methode:

    void dice(){
    	cube[0]=(rand() % 6) + 1;
    	cube[1]=(rand() % 6) + 1;
    }
    

    mit

    player p1(0);  //Erstelle Spieler
    
    	p1.dice();
    

    möchte ich nun Würfeln, aber in dice() wird cube[0] ... etc. nicht erkannt. was muss ich umändern, verschiedenes ausprobiert, aber funktioniert nix



  • achja der rest passt, hab nur den code etwas gekürzt 🙂 versuche außerdem von java jetzt auf c++ umzusteigen, falls ich hier etwas nicht beachtete habe wäre es nett mich aufzuklären



  • Versuch mal

    void player::dice(){
        cube[0]=(rand() % 6) + 1;
        cube[1]=(rand() % 6) + 1;
    }
    

    Die größte Verwirrung von Javanern die auf C++ umsteigen erscheint mir dieser Unterschied:

    //Gleich:
    //java:
    int i; //ein integer i
    //c++:
    int i; //ein integer i
    
    //Anders:
    //java:
    player p; //eine Referenz auf ein player-Objekt die mit Null initialisiert ist, ein player-Objekt existiert bisher nicht
    //c++:
    player p; //ein player-Objekt. Eine Referenz auf ein player-Objekt existiert bisher nicht
    


  • es funktioniert, danke


Anmelden zum Antworten