Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it L'avatar di hfish
    Registrato dal
    Dec 2000
    Messaggi
    3,180

    [C++] classi e membri/funzioni static

    qual è l'utilità di rendere un campo dato o una funzione membro static??
    è mezz'ora che rileggo sempre lo stesso maledettissimo paragrafo ma nn mi sto ricogliendo!
    Non dobbiamo trascurare la probabilità che il costante inculcare la credenza in Dio nelle menti dei bambini possa produrre un effetto così forte e duraturo sui loro cervelli non ancora completamente sviluppati, da diventare per loro tanto difficile sbarazzarsene, quanto per una scimmia disfarsi della sua istintiva paura o ripugnanza del serpente.

  2. #2
    Utente di HTML.it L'avatar di anx721
    Registrato dal
    Apr 2003
    Messaggi
    2,352
    Un campo statico di una classe ha la stessa funzionalita di una variaile gloale, cosi come una funzione statica ha le stesse funzionalita di una funzione globale, oltre al fatto che puo accedere ai memri non publici della classe. Il di utilizzare un membro statico piuttosto che una variabile o una funzione gloale sta nel fatto che un membro di una classe puo essere reso privato, e quindi non accesseile al di fuori della classe e inoltre per riferirsi al memro statico bisogna far riferimento alla classe:

    NomrClasse::memro_statico

    e quindi non c'è possiilita di conflitto di nomi di altre variabili globali che hanno lo stesso nome, è come racchiudere una dichiarazione in un namespace.

    Sun Certified Java Programmer

    EUCIP Core Level Certified

    European Certification of Informatics Professionals

  3. #3
    Utente di HTML.it L'avatar di hfish
    Registrato dal
    Dec 2000
    Messaggi
    3,180
    Originariamente inviato da anx721
    Un campo statico di una classe ha la stessa funzionalita di una variaile gloale, cosi come una funzione statica ha le stesse funzionalita di una funzione globale, oltre al fatto che puo accedere ai memri non publici della classe. Il di utilizzare un membro statico piuttosto che una variabile o una funzione gloale sta nel fatto che un membro di una classe puo essere reso privato, e quindi non accesseile al di fuori della classe e inoltre per riferirsi al memro statico bisogna far riferimento alla classe:

    NomrClasse::memro_statico

    e quindi non c'è possiilita di conflitto di nomi di altre variabili globali che hanno lo stesso nome, è come racchiudere una dichiarazione in un namespace.
    thanks...
    anche se non ho capito la storia del namespace
    Non dobbiamo trascurare la probabilità che il costante inculcare la credenza in Dio nelle menti dei bambini possa produrre un effetto così forte e duraturo sui loro cervelli non ancora completamente sviluppati, da diventare per loro tanto difficile sbarazzarsene, quanto per una scimmia disfarsi della sua istintiva paura o ripugnanza del serpente.

  4. #4
    Utente di HTML.it L'avatar di anx721
    Registrato dal
    Apr 2003
    Messaggi
    2,352
    Originariamente inviato da hfish
    thanks...
    anche se non ho capito la storia del namespace
    Un namespace serve semplicemente a definire uno spazio di nomi in modo da evitare conlfitti di nomi; se ad esempio dichiari una funzione globale di nome f, per invocarla usi:

    f();

    se dichiari f all'interno del namespace ciccio, per invocare f() devi scrivere:

    ciccio::f();

    in questo modo puoi dichiarare piu funzioni globali di nome f(), basta metterle in diversi namespace. Se sei sicuro di non avere conflitti di nomi puoi invocare f() anche direttamente come f() ma inserendo all'inizio del file la dichiarazione:

    using namespace ciccio;

    che dice al compilatore che classi, variaili e funzioni definiti nello spazio di nomi ciccio saranno riferiti semplicemente con il loro nome, senza anteporre ciccio:: .

    In c++ tutte le definizioni della standard template library avvengono nel namespace std; ad esempio per stampare di solito si usa cout:

    cout << "ciao";

    cout è un oggetto definito nel namespace std, quindi per fare riferimento a cout bisognerebbe scrivere:

    std::cout << "ciao";


    Di solito infatti molti programmi c++ iniziano con:

    using namespace std;

    per evitare di dichairare ogni volta l'uso del namespace.

    Sun Certified Java Programmer

    EUCIP Core Level Certified

    European Certification of Informatics Professionals

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.