Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    cosa sbaglio con il vettore d'oggetti dinamico?

    premetto di avere una classe figlio esame e una classe principale studente. mettiamo che il codice della classe esame l' ho gia scritto!
    In mezzo a sto codice mi potete aiutare a capire dove sbaglio? Le parti dove sono indeciso sono in grassetto.


    codice:
     
    //file .h
    class studente{ 
    friend istream& operator >>(istream&, studente&); 
    private: 
    char* nome; 
    char* cognome; 
    int matricola; 
    int num; 
    esame* esami;  
    
    
    public: 
    studente(char* ,char* ,int ,int ,esame*  ); 
    studente(); 
    ~studente(); 
    char* nom(); 
    char* cog(); 
    int mat(); 
    int _num(); 
    esame* esa();  
    
    }; 
    
    
    #endif 
    
    //file.cpp 
    
    #include "studente.h" 
    #include <iostream.h> 
    #include <string.h> 
    
    istream& operator >>(istream& i, studente& s) 
    { 
    i >> s.nome; 
    i >> s.cognome; 
    i >> s.matricola; 
    i >> s.num; 
    s.esami=new esame[s.num]; 
    for (int k=0; k<s.num; k++) 
    i >> s.esame[k]; 
    return i; 
    }; 
    
    studente::studente(char* n,char* c,int m,int nu,esame* e) 
    { 
    int l; 
    l=strlen(n); 
    nome=new char[l]; 
    strcpy(nome,n); 
    l=strlen(c); 
    cognome=new char[l]; 
    strcpy(cognome,c); 
    matricola=m; 
    num=nu; 
    esame=new esami[i]; 
    for (int i=0; i<num; i++) 
    esami[i]=e[i]; 
    
    }; 
    
    studente::studente() 
    { 
    nome=new char[13]; 
    strcpy(nome,"non definito"); 
    cognome=new char[13]; 
    strcpy(cognome,"non definito"); 
    matricola=-1; 
    num=0; 
    esami=new esame[0]; 
    }; 
    
    
    studente::~studente() 
    { 
    delete [] nome; 
    delete [] cognome; 
    delete [] esami; 
    }; 
    
    char* studente::nom(){return nome;}; 
    char* studente::cog(){return cognome;}; 
    int studente::mat(){return matricola;}; 
    int studente::_num(){return num;}; 
    esame* studente::esa(){return esami;};
    Credo di aver scritto il codice giusto, ma non capisco dove sta l'errore.Ho messo in grassetto le parti dove sono indeciso.
    Mi potete aiutare?
    SO DI NON SAPERE... (COME DIREBBE SOCRATE)

    QUESTO E' IL GUAIO... (COME DICO IO )

  2. #2
    nessuno?
    SO DI NON SAPERE... (COME DIREBBE SOCRATE)

    QUESTO E' IL GUAIO... (COME DICO IO )

  3. #3
    Ehmmm... ma non ho capito quale errore c'e'...
    a me sembra giusto, da un'okkiata velocissima....
    #exclude <windows.h>
    Powered by Gentoo GNU/Linux
    Cos'e' l'impossibile se non una questione di tempo?
    Riesumare i post vecchi non e' sbagliato, e' una risposta o la continuazione di un thread. Meglio riesumare che creare di nuovi :]

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.