Sistema di programmazione orientato agli oggetti.
La classe è una stampa blu che riflette gli attributi e le azioni delle entità. Definire tecnicamente una classe significa progettare un tipo di dati definito dall'utente.
Un'istanza della classe viene chiamata come oggetto.
Singolo, Multilevel, Multiplo, Gerarchico e Ibrido.
Se un membro della classe è protetto, è accessibile nella classe ereditata. Tuttavia, al di fuori dei membri sia privati che protetti non sono accessibili.
Il processo di associazione dei dati e delle funzioni che agiscono sui dati insieme in un'entità (classe) chiamata incapsulamento.
L'astrazione si riferisce a nascondere l'implementazione interna e mostrare solo i dettagli necessari.
L'ereditarietà è il processo di acquisizione delle proprietà della classe in uscita nella nuova classe. La classe esistente viene chiamata come classe base / genitore e la classe ereditata viene chiamata come classe derivata / figlia.
La dichiarazione di una variabile volatile indica al compilatore che la variabile può essere modificata esternamente. Quindi evitare l'ottimizzazione del compilatore sul riferimento della variabile.
Una funzione preceduta dalla parola chiave inline prima che la definizione della funzione venga chiamata come funzione inline. Le funzioni inline sono più veloci nell'esecuzione rispetto alle normali funzioni poiché il compilatore tratta le funzioni inline come macro.
La classe di archiviazione specifica la durata o l'ambito dei simboli come variabili o funzioni.
Di seguito sono riportate le classi di archiviazione supportate in C ++
auto, static, extern, register e mutable
La variabile membro di un oggetto di classe costante può essere modificata dichiarandola utilizzando l'identificatore di classe di archiviazione modificabile. Applicabile solo per la variabile membro non statica e non costante della classe.
La copia superficiale esegue il dump della memoria bit per bit da un oggetto a un altro. La copia profonda è la copia campo per campo da un oggetto all'altro. La copia profonda si ottiene utilizzando il costruttore di copia e / o l'operatore di assegnazione sovraccarico.
Una funzione virtuale senza corpo della funzione e assegnata con un valore zero viene chiamata come funzione virtuale pura.
Una classe con almeno una funzione virtuale pura è chiamata classe astratta. Non possiamo istanziare una classe astratta.
Una variabile di riferimento è un nome alias per la variabile esistente. Il che significa che sia il nome della variabile che la variabile di riferimento puntano alla stessa posizione di memoria. Pertanto l'aggiornamento sulla variabile originale può essere ottenuto utilizzando anche la variabile di riferimento.
Una variabile statica esce anche se gli oggetti per la rispettiva classe non vengono creati. La variabile membro statica condivide una memoria comune tra tutti gli oggetti creati per la rispettiva classe. È possibile fare riferimento a una variabile membro statica utilizzando il nome della classe stessa.
Una funzione membro statica può essere richiamata utilizzando il nome della classe quando esce prima che gli oggetti della classe vengano creati. Può accedere solo ai membri statici della classe.
wchar_t
Punto (.) E Freccia (->)
No, la definizione di una classe / struttura è solo una definizione di tipo e non verrà allocata memoria per la stessa.
bool, è il nuovo tipo di dati primitivo introdotto nel linguaggio C ++.
La definizione di più funzioni con lo stesso nome con un elenco univoco di parametri viene chiamata sovraccarico di funzioni.
La definizione di un nuovo lavoro per l'operatore esistente rispetto agli oggetti della classe viene chiamata come sovraccarico dell'operatore.
No, è una classe di STL (libreria di modelli standard).
cin, cout, cerr e clog.
Privato e protetto.
Operatore di risoluzione dell'ambito (: :)
Un distruttore è la funzione membro della classe che ha lo stesso nome del nome della classe e preceduto dal simbolo tilde (~). Viene eseguito automaticamente rispetto all'oggetto non appena l'oggetto perde il suo ambito. Non può essere sovraccaricato e l'unica forma è senza i parametri.
Un costruttore è la funzione membro della classe che ha lo stesso nome della classe e viene eseguita automaticamente non appena viene creato l'oggetto per la rispettiva classe.
Ogni classe ha un costruttore fornito dal compilatore se il programmatore non ne fornisce uno e noto come costruttore predefinito. Un costruttore fornito dal programmatore senza parametri viene chiamato come costruttore predefinito. In tal caso il compilatore non fornisce il costruttore.
"nuovo" è l'operatore che può essere utilizzato per lo stesso.
L'operatore "cancella" viene utilizzato per rilasciare la memoria dinamica creata utilizzando l'operatore "nuovo".
Sì, poiché C è il sottoinsieme di C ++, possiamo anche tutte le funzioni di C in C ++.
No, dobbiamo usare free () del linguaggio C per lo stesso.
Una funzione che non è un membro della classe ma può comunque accedere a tutti i membri della classe è chiamata così. Per realizzarlo, dobbiamo dichiarare all'interno della classe richiesta seguendo la parola chiave "amico".
Un costruttore di copia è il costruttore che accetta lo stesso riferimento all'oggetto classe del parametro. Viene richiamato automaticamente non appena l'oggetto viene inizializzato con un altro oggetto della stessa classe al momento della sua creazione.
C ++ supporta la gestione delle eccezioni. provare, prendere e lanciare sono parole chiave utilizzate per lo stesso.
Questa è la variabile puntatore del compilatore che contiene sempre l'indirizzo dell'oggetto attivo corrente.
Per impostazione predefinita, i membri della struttura sono pubblici e per impostazione predefinita i membri della classe sono privati.
Sì.
Si dice così una variabile il cui ambito è applicabile solo all'interno di un blocco. Anche una variabile in C ++ può essere dichiarata ovunque all'interno del blocco.
Se il file esiste già, il suo contenuto verrà troncato prima di aprire il file.
L'operatore di risoluzione dell'ambito viene utilizzato per
- Risolvi l'ambito delle variabili globali.
- Per associare la definizione di funzione a una classe se la funzione è definita al di fuori della classe.
Uno spazio dei nomi è la divisione logica del codice che può essere utilizzata per risolvere il conflitto di nomi degli identificatori inserendoli in uno spazio dei nomi diverso.
Gli argomenti / parametri che vengono inviati alla funzione main () durante l'esecuzione dalla riga di comando / console sono chiamati così. Tutti gli argomenti inviati sono solo le stringhe.
Una classe modello è una classe generica. Il modello di parole chiave può essere utilizzato per definire un modello di classe.
Il blocco catch con ellissi come segue
catch(…)
{
}
Di default ogni variabile locale della funzione è automatica (auto). Nella funzione sottostante entrambe le variabili "i" e "j" sono variabili automatiche.
void f()
{
int i;
auto int j;
}
NOTE - Una variabile globale non può essere una variabile automatica.
Una variabile locale statica mantiene il suo valore tra la chiamata della funzione e il valore predefinito è 0. La seguente funzione stamperà 1 2 3 se chiamata tre volte.
void f()
{
static int i;
++i;
printf(“%d “,i);
}
Se una variabile globale è statica, la sua visibilità è limitata allo stesso codice sorgente.
Utilizzato per risolvere l'ambito del simbolo globale
#include <iostream>
using namespace std;
main() {
extern int i;
cout<<i<<endl;
}
int i = 20;
L'indirizzo iniziale dell'array viene chiamato come indirizzo di base dell'array.
Se una variabile viene utilizzata più frequentemente, dovrebbe essere dichiarata utilizzando l'identificatore di archiviazione del registro, quindi probabilmente il compilatore fornisce il registro della CPU per la sua archiviazione per accelerare la ricerca della variabile.
Sì, può essere ma non può essere eseguito, poiché l'esecuzione richiede la definizione della funzione main ().
Ogni variabile locale per impostazione predefinita è una variabile automatica viene archiviata nella memoria dello stack
Una classe contenente almeno una variabile membro di un altro tipo di classe è chiamata così.
Un programma C ++ è costituito da vari token e un token può essere una parola chiave, un identificatore, una costante, una stringa letterale o un simbolo.
Il preprocessore è una direttiva al compilatore per eseguire determinate cose prima che inizi il processo di compilazione effettivo.
Gli argomenti che passiamo alla funzione main () durante l'esecuzione del programma vengono chiamati come argomenti della riga di comando. I parametri sono sempre stringhe contenute nel secondo argomento (sotto in args) della funzione che è un array di puntatori a caratteri. Il primo argomento rappresenta il conteggio degli argomenti (sotto in count) e viene aggiornato automaticamente dal sistema operativo.
main( int count, char *args[]) {
}
Call by value- Inviamo solo valori alla funzione come parametri. Scegliamo questo se non vogliamo che i parametri effettivi vengano modificati con parametri formali ma solo usati.
Call by address- Inviamo l'indirizzo dei parametri effettivi invece dei valori. Scegliamo questo se vogliamo che i parametri effettivi vengano modificati con parametri formali.
Call by reference- I parametri effettivi vengono ricevuti con le nuove variabili di riferimento C ++ come parametri formali. Scegliamo questo se vogliamo che i parametri effettivi vengano modificati con parametri formali.
Errore, non è valido che uno degli operandi per l'operatore modulo (%) sia un numero reale.
Opiton –lm da utilizzare come> g ++ –lm <file.cpp>
No, non è disponibile tale disposizione.
Bjarne Stroustrup.
taglia di
Possiamo applicare l'operatore di risoluzione dell'ambito (: :) per l'ambito della variabile globale.
Le uniche due operazioni consentite sui puntatori sono
Confronto ii) Addizione / Sottrazione (esclusi i puntatori vuoti)
La funzione che chiama se stessa viene chiamata come ricorsione.
Nome del programma.
Idealmente è di 32 caratteri e dipende anche dall'implementazione.
Per impostazione predefinita, le funzioni vengono chiamate per valore.
Pubblico, privato e protetto
Delete [] viene utilizzato per rilasciare la memoria allocata all'array che è stata allocata utilizzando new [] e delete viene utilizzato per rilasciare un blocco di memoria allocato utilizzando new.
Non necessariamente, anche una classe che ha almeno una funzione virtuale pura è una classe astratta.
No, sarà un errore poiché il compilatore non riesce a eseguire la conversione.
Il programma si interrompe improvvisamente.
No, le eccezioni possono essere gestite mentre il programma non può risolvere gli errori.
Definizione delle funzioni all'interno della classe base e derivata con la stessa firma e nome in cui la funzione della classe base è virtuale.
seekg ()
seekp ()
No, solo le variabili dei membri della classe determinano la dimensione del rispettivo oggetto della classe.
Possiamo creare una classe vuota e la dimensione dell'oggetto sarà 1.
Spazio dei nomi predefinito definito da C ++.
Libreria di modelli standard
cout è l'oggetto della classe ostream. Lo stream "cout" è connesso per impostazione predefinita al dispositivo di output della console.
cin è l'oggetto della classe istream. Lo stream "cin" è connesso per impostazione predefinita al dispositivo di input della console.
Viene utilizzato per specificare lo spazio dei nomi utilizzato in.
L'operatore freccia (->) può essere utilizzato per lo stesso
Se un file di intestazione è incluso in <>, il compilatore cerca il file di intestazione particolare solo con nel percorso di inclusione incorporato. Se un file di intestazione è incluso in "", il compilatore cerca il particolare file di intestazione prima nella directory di lavoro corrente, se non lo trova poi nel percorso di inclusione integrato
S ++, poiché internamente è un'istruzione singola macchina (INC).
I parametri inviati alla funzione alla fine della chiamata sono chiamati come parametri effettivi mentre alla ricezione della definizione della funzione chiamati come parametri formali.
Declaration associates type to the variable whereas definition gives the value to the variable.
goto.
No, it contains invalid octal digits.
It will be used to undefine an existing macro definition.
No, we cannot.
A virtual destructor ensures that the objects resources are released in the reverse order of the object being constructed w.r.t inherited object.
The objects are destroyed in the reverse order of their creation.
A class members can gain accessibility over other class member by placing the class declaration prefixed with the keyword ‘friend’ in the destination class.