Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it
    Registrato dal
    Jan 2009
    Messaggi
    2

    Ereditarietà: Perchè non mi funziona???

    In questo programma mi dà diversi errori ma nn riesco a capire qual è il problema. Qualcuno può aiutarmi?

    //PERSONA.H

    #ifndef PERSONA_H_
    #define PERSONA_H_
    #include <cstdlib>
    #include <iostream>
    #include <string.h>


    class Persona{
    protected:
    char* nome;
    int eta;
    int sesso;
    public:
    Persona(const char* NOME=" ",int SESSO=1, int ETA=0):

    nome(new char[strlen(NOME)+1]),
    sesso(SESSO),
    eta(ETA){strcpy(nome,NOME);}
    }

    void chisei(){
    cout<<"Sono una persona di nome "<<nome<<" sesso "<<sesso<<" ed ho "<<eta<<" anni ";
    }

    };

    #endif


    //STUDENTE.H

    #ifndef STUDENTE_H_
    #define STUDENTE_H_
    #include "Persona.h"



    class Studenteublic Persona{
    protected:
    int esami;
    int matricola;
    char* facolta;
    public:
    Studente(const char* NOME=" ",char SESSO='M',int ETA=0,int ESAMI=0,long MATRICOLA=111111,char* FACOLTA=" ")
    :Persona(NOME,SESSO,ETA),
    esami(ESAMI),
    matricola(MATRICOLA),
    facolta(new char[strlen(FACOLTA)+1]){
    strcpy(facolta,FACOLTA);}

    void chisei(){
    cout<<"\n Sono uno studente della facoltà di "<<facolta<<" Matricola "<<matricola<<" ed ho fatto "<<esami;}


    };

    #endif


    //BORSISTA.H

    #ifndef BORSISTA_H_
    #define BORSISTA_H_


    #include "Studente.h"

    class Borsistaublic Studente{

    protected:
    long borsa;
    public:
    Borsista(const char* NOME=" ",char SESSO='M',int ETA=0,int ESAMI=0,long MATRICOLA=111111,char* FACOLTA=" ",long BORSA=10000000):
    Studente(NOME,SESSO,ETA,ESAMI,MATRICOLA,FACOLTA),

    borsa(BORSA){
    }

    void chisei(){
    cout<<"\n Inoltre ho ricevuto un borsa di studio pari a "<<borsa<<" di euro";}

    };

    #endif


    //PERSONA.CPP

    #include <cstdlib>
    #include <iostream>
    #include "Borsista.h"

    using namespace std;

    int main(int argc, char *argv[])
    {
    Persona Angelo("Angelo Pica",1,23);
    Studente Marco("Marco Casa",1,21,6,534001,"Ingegneria");
    Borsista Elena("Elena Dito",2,20,3,534242,"Medicina",150000);

    Angelo.chisei();
    Marco.chisei();
    Elena.chisei();

    system("PAUSE");
    return EXIT_SUCCESS;
    }

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Diversi errori? Comincia ad elencare i primi ... indicaci in quale linea si verificano e dacci una tua idea della causa ... noi ti diamo la nostra ...

    Cosi' si discute un problema ...

    P.S. In ogni caso, qui

    class Persona{
    protected:
    char* nome;
    int eta;
    int sesso;
    public:
    Persona(const char* NOME=" ",int SESSO=1, int ETA=0):

    nome(new char[strlen(NOME)+1]),
    sesso(SESSO),
    eta(ETA){strcpy(nome,NOME);}
    }

    void chisei(){
    cout<<"Sono una persona di nome "<<nome<<" sesso "<<sesso<<" ed ho "<<eta<<" anni ";
    }

    };

    #endif

    c'e' una parentesi di troppo e manca uno

    using namespace std;
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  3. #3
    Utente di HTML.it
    Registrato dal
    Jan 2009
    Messaggi
    2
    Grazie funziona!!!

  4. #4
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,320

    Moderazione

    Come da regolamento:

    1) Il linguaggio va indicato nel titolo
    2) Il codice va postato all'interno degli appositi tag CODE


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

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.