È un errore di sintassi in C ++ per terminare una funzione all'interno di una definizione di classe con A};?

È un errore di sintassi in C ++ per terminare una funzione all'interno di una definizione di classe con A};?
In C ++, una classe è un costrutto fondamentale che viene utilizzato per incapsulare dati e funzioni. Quando si definisce una classe, è importante strutturare correttamente il codice in un modo che aderisce alle regole di sintassi della lingua. Una domanda comune che si pone è se si tratta dell'errore di sintassi quando si termina la funzione nella definizione della classe con un ";". Per trovare e capire la risposta a questa domanda, leggi questa guida.

È l'errore di sintassi quando si termina la funzione nella definizione della classe con un ";"

La risposta breve a questa domanda è no, non è l'errore di sintassi quando si termina la funzione nella definizione della classe con un ";".

Quando si definisce una funzione membro all'interno di una definizione di classe C ++, è comune usare a ";" Alla fine della Dichiarazione della funzione per indicare che il corpo della funzione sarà definito al di fuori della definizione della classe. Il punto e virgola funge da segnaposto per il corpo della funzione. Questa tecnica è chiamata una dichiarazione in avanti o una definizione della funzione in linea.

Usare un ";" Alla fine della definizione della funzione all'interno della definizione della classe non è un errore di sintassi ed è un modo valido per dichiarare una funzione. Tuttavia, è importante notare che si tratta solo di una dichiarazione e il corpo della funzione deve essere definito al di fuori della definizione della classe usando le parentesi graffe ("") e la sintassi appropriata.

Codice di esempio

Consideriamo un esempio che dimostra che non è l'errore di sintassi quando si termina la funzione nella definizione della classe con un ";".

#includere
Utilizzo dello spazio dei nomi std;
Classe Itemclass

pubblico:
void setName (String new_name)

itemName = new_name;
;
void setqty (int newqty)

itemqty = newQty;
;
void printItems ()

cout <<"item name :"<;
privato:
stringe itemname;
int itemqty;
;
int main (vuoto)

Itemclass G;
G.Setqty (2);
G.setName ("occhiali");
G.PrintItems ();
restituzione 0;

Il codice sopra definisce una classe denominata Itemclass Con tre funzioni membri: setname, setqty, E Printems. Queste funzioni impostano e stampano i valori delle variabili dei membri privati Nome dell'elemento E Itemqty. Il codice utilizza ";" Alla fine di ciascuna definizione della funzione, che non è un errore di sintassi. La funzione principale crea un'istanza della classe, imposta i valori di Nome dell'elemento E Itemqty, e stampa i valori usando il Printems funzione. Il codice esegue correttamente senza errori di sintassi.

Produzione

Conclusione

C ++ utilizza le classi come blocco fondamentale per dati e funzionalità astratte. Questo articolo mira a fornire chiarimenti su una domanda comunemente posta sull'uso di ";" Per concludere una dichiarazione di funzione all'interno di una definizione di classe. Non è un errore di sintassi da utilizzare ";" In questo contesto e abbiamo fornito un esempio di codice di esempio per illustrare questo punto.