Visualizzazione dei risultati da 1 a 4 su 4

Discussione: (c++) le classi

  1. #1
    Utente di HTML.it L'avatar di tony83
    Registrato dal
    Feb 2005
    Messaggi
    3,179

    (c++) le classi

    Ciao a tutti sto studiano programmazione(basi) e per questo ho un dubbio che vorrei togliermi.
    una classe ha una funzione speciale detto costruttore chiamata nel nostro caso pippo(int=0,int=0,int=0), all'interno ci può essere una funzione usata per settaggio, quindi di set, chiamata appunto set(int,int,int). all'interno di essa ci sono altre 3 funzioni sempre di tipo set chiamate set1(int),set2(int),set3(int) cui prende il valore per argomento della funzione set principale.
    la domanda è nel libro ho visto che l'oggetto definito come X chiama la funzione in questa maniera:
    x.set1(10);
    x.set2(20);
    x.set3(30);
    Questo è possibile perchè il costruttore viene chiamato automaticamente quando viene creato un oggetto, giusto?
    sarebbe stato uguale se avessi messo:
    x.pippo(10,20,30);
    e le chiamate all'altre set le avessi fatto all'interno della funzione set principale?
    vorrei sapere se ho capito bene!!
    grazie in anticipo. Ciao!!!!!!!!......

  2. #2
    Utente di HTML.it L'avatar di netarrow
    Registrato dal
    Apr 2004
    Messaggi
    1,425
    il costruttore è si quel "metodo speciale", che viene chiamato appena dichiari l'oggetto:

    codice:
    X x(parametri);//
    da quel momento in poi in memoria esiste un oggetto concreto creato secondo il suo costruttore sul quale si può intervenire sui suoi dati tramite i metodi(come set get & c.o).

    La cosa su cui bisogna stare attenti è che se l'oggetto è un puntatore il costruttore viene chiamato all'allocazione di esso, che nel caso dei puntatori non avviene assieme alla dichiarazione, in pratica:

    codice:
    X *x = new X(parametri);//da includere new

    Imparare è un'esperienza, tutto il resto è solo informazione. (Albert Einstein)

  3. #3
    Utente di HTML.it L'avatar di tony83
    Registrato dal
    Feb 2005
    Messaggi
    3,179
    ma va bene anche cosi è uguale?(stesso risultato?
    x.pippo(10,20,30);


    giusto?
    grazie 1000!!!!! ciao......


  4. #4
    Utente di HTML.it L'avatar di netarrow
    Registrato dal
    Apr 2004
    Messaggi
    1,425
    Originariamente inviato da tony83
    ma va bene anche cosi è uguale?(stesso risultato?
    x.pippo(10,20,30);
    no in quel caso da errore(se pippo è il costruttore)

    codice:
    class T {
    private:
    	int i;
    public:
    	T(int s) {
    		i = s;
    	};
    	void set(int s) {
    		i = s;
    	};
    };
    
    main() {
    	T t(5);
    	t.set(3);
    	t.T(4);
    	return 0;
    }
    infatti questo codice non viene compilato.

    Imparare è un'esperienza, tutto il resto è solo informazione. (Albert Einstein)

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.