Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1
    Utente di HTML.it
    Registrato dal
    Jul 2006
    Messaggi
    112

    [c/c++]classi (costruttori e distruttori)

    ciao a tutti, sto guardando le classi e in particolare i costruttori e i distruttori.
    ho copiato pari pari questo codice dalla guida ma mi da errore proprio sul costruttore.
    perchè? grazie





    #include <iostream>
    using namespace std;

    //dichiarazione della classe
    class myclass {
    public:
    int x;

    //dichiara un costruttore e un distruttore
    myclass(); //costruttore
    ~myclass(); //distruttore
    }

    // implementa il costruttore di myclass
    myclass::myclass() { //mi da errore in questa linea
    x=10;
    }
    // implementa il distruttore di myclass
    myclass::~myclass() {
    cout<<"sto distruggendo...\n";
    }

    int main() {
    myclass ob1; //crea un oggetto myclass
    myclass ob2; //crea un'altro oggetto myclass

    cout<<ob1.x<<" "<<ob2.x<<"\n";

    system("pause");
    return 0;
    }


    (uso dev c++) l'errore è:

    15 C:\Dev-Cpp\costruttore_distruttore.cpp new types may not be defined in a return type
    15 C:\Dev-Cpp\costruttore_distruttore.cpp return type specification for constructor invalid

    a proposito c'è una scorciatoia di tasti per far apparire il simbolo ~.

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Manca il ; alla fine della dichiarazione della classe, prima di quella linea ...

  3. #3
    Utente di HTML.it
    Registrato dal
    Jul 2006
    Messaggi
    112
    accidenti sono proprio scarso.

  4. #4
    Utente di HTML.it
    Registrato dal
    Jul 2006
    Messaggi
    112
    attenzione però,la guida dice che l'output del programma è:

    10 10
    sto distruggendo...
    sto distruggendo...

    invece il mio è:

    10 10


  5. #5
    Utente di HTML.it
    Registrato dal
    Jul 2006
    Messaggi
    112
    attenzione però,la guida dice che l'output del programma è:

    10 10
    sto distruggendo...
    sto distruggendo...

    invece il mio è:

    10 10


  6. #6
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Il distruttore in questo caso viene chiamato al termine del main.

    Ma il tuo programma non termina proprio perche' c'e' la chiamata a system che attende un tasto.

    Dopo tale tasto avviene la distruzione ma probabilmente tu non vedi le frasi perche' la finestra si chiude.

    Per aggirare l'ostacolo, elimina la system ed esegui il programma compilato all'interno di una finestra DOS.

  7. #7
    Utente di HTML.it
    Registrato dal
    Jul 2006
    Messaggi
    112
    giusto grazie!!!
    ciao

  8. #8
    Utente di HTML.it L'avatar di Il Pazzo
    Registrato dal
    Jul 2004
    Messaggi
    1,071
    Ha senso richiamare un metodo dentro il costruttore?

    Vi spiego... io dovrei inizializzare uno stack ma non posso se non ho il numero degli elementi... quindi, nel costruttore vorrei prima richimare il metodo "inserisci" (che contiene un cin e il controllo se è un intero positivo) e poi mettere l'inizializzazione dello stack...

    Si può fare questa cosa?

  9. #9
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Piuttosto che chiamare un metodo, scrivi una funzione membro privata e chiama quella.

  10. #10
    Utente di HTML.it L'avatar di Il Pazzo
    Registrato dal
    Jul 2004
    Messaggi
    1,071
    Ok grazie...

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 © 2025 vBulletin Solutions, Inc. All rights reserved.