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 puntoprivate— accessibile solo all'interno della classeprotected— 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
- struct e class: quando usare ciascuno
- Variabili membro e metodi
- Costruttori e liste di inizializzazione dei membri
- Il puntatore this e l'incapsulamento