0Pricing
C++ Academy · Lezione

Variabili membro e metodi

Dichiari variabili membro, scriva metodi membro e vi faccia riferimento tramite le istanze

Variabili membro e metodi è una lezione C++ Academy gratuita su CoddyKit. Questa è la lezione 2 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento C++ Academy, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso C++ Academy include 4 lezioni in totale.

Membri di una classe

Una classe può contenere:

  • Variabili membro (dati, talvolta chiamati campi)
  • Funzioni membro (metodi)
  • Tipi annidati (typedef, enum, classi)
  • Membri statici (condivisi tra tutte le istanze)

Dichiarare le variabili membro

Le dichiari nel corpo della classe. Per una maggiore chiarezza, usi gli inizializzatori predefiniti nella classe introdotti da C++11.

class Person {
    std::string name_ = "unknown";
    int age_ = 0;
public:
    // ...
};

Convenzioni per i nomi

Convenzioni comuni per i membri privati:

  • Underscore finale: name_
  • m_ iniziale: m_name
  • Nomi semplici con this-> implicito

Ne scelga una e la applichi con coerenza.

Definire i metodi nella classe

I metodi brevi possono essere definiti inline nel corpo della classe e sono implicitamente inline.

class Counter {
    int n_ = 0;
public:
    void increment() { ++n_; }
    int value() const { return n_; }
};

Definire i metodi al di fuori della classe

I metodi più lunghi vengono solitamente definiti all'esterno, spesso in un file .cpp. Usi l'operatore di risoluzione dell'ambito ::.

// header
class Logger {
public:
    void log(const std::string& msg);
};

// implementation
void Logger::log(const std::string& msg) {
    std::cout << "[LOG] " << msg << "\n";
}

Chiamare i metodi

Usi la sintassi con il punto sugli oggetti e la sintassi con la freccia sui puntatori.

Counter c;
c.increment();

Counter* p = &c;
p->increment();

Metodi const

I metodi che non modificano l'oggetto dovrebbero essere contrassegnati con const. Possono essere chiamati sulle istanze const.

class Counter {
    int n_ = 0;
public:
    int value() const { return n_; }   // does not modify *this
};

Membri statici

I membri statici appartengono alla classe, non alle istanze. Li dichiari con static e li definisca in un file sorgente.

class Logger {
public:
    static int messageCount;
    static void log(const std::string& msg);
};
int Logger::messageCount = 0;

Specificatori di accesso

Tre livelli di accesso:

  • public — accessibile da qualsiasi punto
  • private — accessibile solo all'interno della classe
  • protected — accessibile all'interno della classe e delle classi derivate

Incapsulamento nella pratica

Renda private le variabili membro. Le esponga tramite metodi che garantiscano il rispetto delle invarianti.

class Temperature {
    double celsius_ = 0.0;
public:
    void setCelsius(double c);     // validates range
    double celsius() const { return celsius_; }
    double fahrenheit() const { return celsius_ * 9.0/5.0 + 32; }
};

Metodi e funzioni libere

Non tutto deve essere un metodo. Se una funzione usa solo l'interfaccia pubblica, preferisca una funzione libera: riduce l'accoppiamento.

Verifica rapida

Quale parola chiave indica che una funzione membro non modifica l'oggetto?

Riepilogo

Le variabili membro contengono lo stato di ogni istanza; i metodi operano su tale stato. Contrassegni con const i metodi che non modificano l'oggetto. Renda privati i dati ed esponga il comportamento tramite un'interfaccia pubblica essenziale e intenzionale.

Domande Frequenti

La lezione «Variabili membro e metodi» è gratuita?

Sì — il testo completo di «Variabili membro e metodi» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso C++ Academy, passa a CoddyKit PRO. Il corso C++ Academy include 4 lezioni in totale.

Cosa imparerò in «Variabili membro e metodi»?

Dichiari variabili membro, scriva metodi membro e vi faccia riferimento tramite le istanze Eserciti C++ Academy con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.

Ho bisogno di esperienza per iniziare C++ Academy?

Non è richiesta alcuna esperienza precedente. C++ Academy su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 2 di 4.

Quanto tempo richiede la lezione «Variabili membro e metodi»?

La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.

Posso scrivere ed eseguire codice in questa lezione C++ Academy?

Sì. Ogni lezione C++ Academy include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.

Tutte le lezioni di questo corso

  1. struct e class: quando usare ciascuno
  2. Variabili membro e metodi
  3. Costruttori e liste di inizializzazione dei membri
  4. Il puntatore this e l'incapsulamento
← Torna a C++ Academy