Visualizzazione dei risultati da 1 a 4 su 4

Discussione: [C++] Domande

  1. #1

    [C++] Domande

    1. Cosa sono gli Oggetti (Programmazzione a oggetti) ?
    2. A cosa servono le Classi ?
    3. Come si usano le classi ?

    Grazie..

  2. #2
    Utente bannato
    Registrato dal
    Dec 2003
    Messaggi
    562
    Una classe è un oggetto. Per usarla la devi istanziare e puoi istanziarla in vari modi (con costruttori diversi).
    Una classe è un oggetto che fa delle determinate azioni.
    Per istanziare uan ipotetica Myclass devi scrivere
    MyClass myc = new MyClass
    Così crei unanuova istanza della classe.
    Ma visto che io non sono il massimo nello spiegare le cose, fai unaricerca sul web, trovi tanti tutorial sul C++ oppure, meglio, comprati un libro.

  3. #3
    Utente di HTML.it
    Registrato dal
    Dec 2002
    Messaggi
    173
    La programmazione OOP è stata sviluppata per venire in contro (attaccato o staccato ???) al programmatore in quanto permette di crivere programmi strutturati in maniera molto simile a quello che nella realtà sono i problemi che si affronteranno! Ora sicuramente non è poi così al 100% ma permettono una programmazione più flessibile potente e semplice se le si imparano bene!

    Spiegarti come si usano sarebbe troppo lungo, xciò fai come t ha detto web@web e fai una ricerca in internet!!

    CIAO

  4. #4
    Utente bannato
    Registrato dal
    Sep 2003
    Messaggi
    1,012
    Originariamente inviato da web@web
    Una classe è un oggetto. Per usarla la devi istanziare e puoi istanziarla in vari modi (con costruttori diversi).
    Una classe è un oggetto che fa delle determinate azioni.
    Per istanziare uan ipotetica Myclass devi scrivere
    MyClass myc = new MyClass
    Così crei unanuova istanza della classe.
    Ma visto che io non sono il massimo nello spiegare le cose, fai unaricerca sul web, trovi tanti tutorial sul C++ oppure, meglio, comprati un libro.
    E' importante capire che una classe non è un oggetto.
    Una classe non occupa spazio in memoria e non può essere usata per contenere dati.
    La funzione di una classe è quella di definire un oggetto.

    Quando crei un oggetto, crei una "istanza" di una classe, cioè trasferisci tutte le funzioni e le variabili che definisce in memoria, in modo che possano essere utilizzate.

    Se creo 10 oggetti, occupo 10 volte lo spazio necessario per contenere tutte le variabili e le funzioni definite dalla classe.
    In questo caso fanno eccezione solo funzioni e variabili di tipo static.

    Per chi conosce il C, le classi sono in un certo senso una evoluzione delle strutture.

    Ogni membro (cioè una variabile o funzione che appartiene ad una classe) di una classe uo essere principalbente di 2 tipi: privato o pubblico.
    I membri privati possono essere modificati (o chimati per le funzioni) solo da funzioni che appartengono ad una classe.
    I membri pubblici sono come i campi delle struct C, cioè possono essere modificate anche direttamente dal programma.

    Ad esempio, se devo fare un programma che mi permetta di gestire un insieme di persone.
    Ogin persona ha determinata caratteristiche (peso, età, sesso) ed azioni che può eseguire.
    A questo punto creo una classe persona in questo modo:

    codice:
    class persona {
    // Qui tutti i membri privati
    // non li posso modificare da main per esempio
    int eta;
    char sesso;
    int peso;
    
    public:
    // Tutti i membri pubblici
    
    //Variabile pubblica
    float IQ;
    
        //Questa è la funzione costruttore:
        //ha lo stesso nome della classe e viene chiamata
        //al momento della creazione di un oggetto
        persona() {
        //Inizializza le variabili
            eta=18;
            sesso = 'M';
            peso = 70;
        }
    
        //Overloading del costruttore che accetta dei parametri per inizializzare
        persona(int veta, char vsesso, int vpeso) {
            //Inizializza con gli argomenti
            eta = veta;
            peso = vpeso;
            //Importante: convalida i dati in entrata
            if (vsesso == 'M' || vsesso == 'S') {
                sesso = vsesso;
            } else {
                sesso = 'M';
            }
        }
    
    //Qui possono esserci tutte le funzioni membro pubbliche.
        void presentati() {
            cout << "Ho " << eta << " anni, peso " << peso << " chili e sono ";
            if(sesso == 'F') {
                cout << "una femmina." << endl;
            } else {
                cout << "un maschio." << endl;
            }
        }
    
        void imposta_peso(int vpeso) {
            peso = vpeso;
        }
    }; //fine della classe
    
    //funzione main
    void main()
    {
    //Creo un oggetto
        persona tizio;
    //Creo un oggetto con il cstruttore parametrizzato
        persona Gino(40, 'M', 80);
    //Questo non lo posso fare:
    //   tizio.eta=18;
    //   Gino.peso = 120;
    //perchè son membri privati
    
    //Cambio il peso di tizio
        tizio.imposta_peso(60);
    //Cambio una variabile pubblica
        tizio.IQ = 3.0;
        Gino.IQ = 8.5;
    //Chiamo delle funzioni pubbliche
        tizio.presentati();
        Gino.presentati();
    }

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.