Visualizzazione dei risultati da 1 a 3 su 3

Discussione: [C++] Costruttori

  1. #1

    [C++] Costruttori

    codice:
    #include <iostream>
    
    using namespace std;
    
    
    class persona {
    public:
    persona();
    
    private:
    char nome[25];
    char cognome[25];
    char ruolo[13];
    int anni;
    };
    
    persona::persona() {
    cout << "Inserisci il nome del giocatore" << endl;
    cin >> nome;
    giocatore.nome = nome;
    cout << "Inserisci il nome del cognome del giocatore" << endl;
    cin >> cognome;
    giocatore.cognome = cognome;
    cout << "Inserisci il ruolo del giocatore" << endl;
    cin >> ruolo;
    giocatore.ruolo = ruolo;
    cout << "Inserisci gli anni del giocatore" << endl;
    cin >> anni;
    giocatore.anni = anni;
    }
    
    
    int main () {
    
    cout << ":::::.... Benvenuto ....:::::" << endl;
    persona giocatore;
    
    return 0;
    }
    Questo codice mi da i seguenti errori:

    /Dev-Cpp/lavori/1/index.cpp C:\Dev-Cpp\lavori\1\C In constructor `persona:ersona()':
    21 C:\Dev-Cpp\lavori\1\index.cpp `giocatore' undeclared (first use this
    21 C:\Dev-Cpp\lavori\1\index.cpp (Each undeclared identifier is reported only

    Inoltre, se io volessi creare una nuova instazza per inserire un nuovo giocatore come dovrei fare? dovrei distruggere il costruttore di prima e ricreane un'altro con lo stesso nome?

  2. #2
    Utente bannato
    Registrato dal
    Sep 2003
    Messaggi
    1,012

    Re: [C++] Costruttori

    codice:
    #include <iostream>
    
    using namespace std;
    
    
    class persona {
    public:
    persona();
    
    private:
    char nome[25];
    char cognome[25];
    char ruolo[13];
    int anni;
    };
    
    persona::persona() {
    cout << "Inserisci il nome del giocatore" << endl;
    cin >> nome;
    giocatore.nome = nome;
    cout << "Inserisci il nome del cognome del giocatore" << endl;
    cin >> cognome;
    giocatore.cognome = cognome;
    cout << "Inserisci il ruolo del giocatore" << endl;
    cin >> ruolo;
    // Cosa dovrebbe fare questa linea?
    //giocatore.ruolo = ruolo;
    cout << "Inserisci gli anni del giocatore" << endl;
    cin >> anni;
    // Idem come prima:
    //giocatore.anni = anni;
    }
    
    
    int main () {
    
    cout << ":::::.... Benvenuto ....:::::" << endl;
    persona giocatore;
    
    return 0;
    }

    Come vedi ti ho tolto due linee che non servivano!

    Per creare altri giocatori puoi usare new() , ma devi memorizzare i puntatori magari in un vettore!

  3. #3
    Utente di HTML.it
    Registrato dal
    Dec 2001
    Messaggi
    167
    /Dev-Cpp/lavori/1/index.cpp C:\Dev-Cpp\lavori\1\C In constructor `persona:ersona()':

    La sintassi del costruttore è
    persona :: persona() {....codice.....};



    21 C:\Dev-Cpp\lavori\1\index.cpp `giocatore' undeclared (first use this


    giocatore l'hai definito all'interno del main ().
    Se lo vuoi utilizzare nel costruttore devi definirlo al suo interno. Così è ovvio che non te lo riconosca.

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.