Visualizzazione dei risultati da 1 a 3 su 3

Discussione: [C++] Classi

  1. #1

    [C++] Classi

    Ciao, sto facendop un progetto in C++ con le classi per creare il gioco del poker...

    Questo sono le due classi che per adesso ho:

    class giocatore {
    giocatore();

    public:
    void setPesca();

    private:
    int seme[5][2];
    int valore[5][2];
    };

    class mazzo {
    mazzo();

    public:
    void setMescola();

    private:
    const char *seme[4];
    const char *numero[7];
    int deck[4][7];
    void setAzzeraMazzo();
    };

    Adesso questo è procedimento che attuo:

    Prima creo l'oggetto Mazzo in cui mescolo il mazzo, poi con l'oggetto GIOCATORE dovrei prendere 5 carte dall'oggetto MAZZO che prima ho mescolato, ma questo non so farlo perchè, dentro una funzione membro di GIOCATORE ho messo:

    if (mazzo.deck[row][column] == 1) {
    seme[card-1][1] = row;
    valore[card-1][1] = column;
    }

    ma MAZZO mi dice che non è una variabile (14 C:\...\giocatore.cpp
    `mazzo' undeclared (first use this function)
    ), e poi anche se fosse esatto la variabile DECK è private quindi non potrei accederci...

    Qualcuno può darmi qualche consiglio su come poter avere le carte dall'oggetto MAZZO.

    Oppure sapete suggerirmi un metodo migliore? magari anche di creare una classe unica che incorpori tutte queste funzioni?

    PS: E' il mio primo progetto ad oggetti, quindi se qualcuno puà darmi dei consigli ne sarei molto contento...

    Grazie

  2. #2
    Utente di HTML.it L'avatar di netarrow
    Registrato dal
    Apr 2004
    Messaggi
    1,425
    il costruttore deve essere pubblico, a differenza delle strutture stile C le classi di default mettono i membri privati, potrebbe essere quello.

    edit:
    per fare semplici programmi ad oggetti io mi trovo bene ad iniziare il lavoro dal main:

    codice:
    ...
    int main() {
    Giocatore g1,g2;
    Arbitro a;
    Mazzo m;
    
    m.mescola();
    a.give(g1);
    a.give(g2);
    g1.play();
    g2.play();
    a.winner(g1, g2);
    
    return 0;
    }
    ...
    da qui creo le classi e metodi, dentro i quali rifaccio quello che ho fatto nel main, quindi aggiungo metodi, funzioni friend overloading di operatori e quando ho fatto l'ossatura del programma implemento metodo per metodo. Per ora mi trovo bene.

    Imparare è un'esperienza, tutto il resto è solo informazione. (Albert Einstein)

  3. #3
    Utente di HTML.it L'avatar di anx721
    Registrato dal
    Apr 2003
    Messaggi
    2,352
    Ma chiami 'mazzo' sia la classe che il nome dell'istanza?

    Nel file in cui metti le implementazioni hai incluso un file header in cui sono dichairate le classi che usi? E poi i campi a cui vuoi accedere dall'esterno devono essere public,


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.