Visualizzazione dei risultati da 1 a 8 su 8

Visualizzazione discussione

  1. #5
    Utente di HTML.it
    Registrato dal
    Nov 2015
    Messaggi
    25
    Io ho trovato questo esempio sul famoso Schildt..pensi vada bene come "risoluzione" del quesito?
    codice:
    #include <iostream>
    #include <string>
    #include <new>
    #include <cstdlib>
    using namespace std;
    
    
    class array
    {
    	int *p;
    	int dimensione;
    	public:
    	array (int dim)
    		{
    			cout<<"costruzione"<<endl;
    			p=new int[dim];
    			dimensione=dim;
    		}
    
    
    	~array() {
    	    delete [] p;
    	    cout<<"distruzione"<<endl;
    	    }
    	// costruttore di copie
    	array(const array &arr);
    
    
    	void imposta (int i, int j)
    	{
    		if(i>=0 && i <dimensione)
    			p[i]=j;
    	}
    
    
    	int prendi(int i)
    	{
    		return p[i];
    	}
    };
    
    
    // Costruttore di copie
    
    
    array::array(const array &arr)
    {
    int i;
    p=new int[arr.dimensione];
    cout<<"costruttore di copie"<<endl;
    for (i=0;i<arr.dimensione;i++)
    p[i]= arr.p[i];
    }
    
    
    
    
    int main()
    {
    array num(10);
    int i;
    for(i=0;i<10;i++) 
    {
        num.imposta(i,i);
    }
    for(i=9;i>=0;i--) 
    {
        cout << num.prendi(i);
        cout <<"\n";
    }
    
    
    // i vettori num e x contengono gli stessi valori ma ciascun vettore
    // si trova in aree diverse di memoria
    
    
    // crea un altro array e lo inizializza con num
    array x(num); // richiama il costruttore di copie;
    for(i=0;i<10;i++)
    {
        cout << num.prendi(i);
        cout <<"\n";
    }
    return 0;
    }
    Ultima modifica di MItaly; 30-04-2016 a 14:07

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.