Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Utente di HTML.it
    Registrato dal
    Mar 2003
    Messaggi
    79

    [Dev C++] Interazioni tra classi

    Salve a tutti,
    devo erigere in c++ un programma che permetta di giocare al gioco di Snake. Per farlo ho scelto di definire 2 classi, una snake e una grid (campo di gioco).

    Durante la programmazione ho necessità di passare ai metodi della classe snake dei valori della classe grid e farli modificare. Per farlo definisco nel main un'istanza della classe grid, richiamo il metodo della classe snake e gli passo un puntatore all'istanza della classe grid appena definita.

    Il problema è che in fase di compilazione dà errore nella classe snake (incompleta per ora) definita come segue:


    class snake{
    public:
    snake(); //costruttore
    int stampa(&gliglia); //funzione di stampa dello snake sulla griglia in memoria
    static const int RIGHE = 4, COLONNE = 4;
    int snakeArray [RIGHE][COLONNE];
    private:


    };

    class grid {
    public:
    grid(); //costruttore
    int stampa(); //funzione di stampa della griglia di gioco
    static const int RIGHE = 50, COLONNE = 50;
    int campoDiGioco [RIGHE][COLONNE];
    private:



    };

    La dichiarazione del metodo stampa nella classe snake, riga in grassetto, dà errore sia così, che se la dichiaro come:
    int stampa(gliglia) oppure come
    int stampa(grid gliglia).

    Chiedo aiuto, temo a questo punto di aver sbagliato a pensare che metodi di classi possano interagire tra loro.
    "La fortuna aiuta gli audaci"
    (e non gli adagiati)

  2. #2
    prova così:
    Codice PHP:
    class grid// Forward declaration
    class snake{
        public:
        
    int stampa (grid &griglia);
    }; 
    per approfondire l'argomento cerca: "Forward declaration"

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.