É um erro de sintaxe em C ++ para encerrar uma função dentro de uma definição de classe com};?

É um erro de sintaxe em C ++ para encerrar uma função dentro de uma definição de classe com};?
Em C ++, uma classe é um construto fundamental usado para encapsular dados e funções. Ao definir uma classe, é importante estruturar adequadamente o código de uma maneira que adere às regras de sintaxe da linguagem. Uma pergunta comum que surge é se é o erro de sintaxe ao acabar com a função na definição de classe com um "";. Para encontrar e entender a resposta para esta pergunta, leia este guia.

É o erro de sintaxe ao terminar a função na definição de classe com um ";"

A resposta curta a esta pergunta é não, não é o erro de sintaxe ao terminar a função na definição de classe com um "";.

Ao definir uma função de membro dentro de uma definição de classe C ++, é comum usar um ";" No final da declaração de função, para indicar que o corpo da função será definido fora da definição de classe. O semicolon atua como um espaço reservado para o corpo da função. Esta técnica é chamada de declaração avançada ou definição de função embutida.

Usando um ";" No final da definição da função, dentro da definição de classe não é um erro de sintaxe e é uma maneira válida de declarar uma função. No entanto, é importante observar que é apenas uma declaração e o corpo da função precisa ser definido fora da definição de classe usando aparelhos encaracolados ("") e a sintaxe apropriada.

Código de exemplo

Vamos considerar um exemplo que prova que não é o erro de sintaxe ao terminar a função na definição de classe com um "";.

#incluir
usando namespace std;
Classe itemclass

público:
void setName (string new_name)

itemName = new_name;
;
Void Setqty (int newqty)

itemqty = newqty;
;
Void PrintItems ()

cout <<"item name :"<;
privado:
string itemName;
int itemqty;
;
int main (vazio)

Itemclass g;
g.Setqty (2);
g.setName ("óculos");
g.PrintItems ();
retornar 0;

O código acima define uma classe nomeada Itemclass Com três funções de membro: SetName, setqty, e PrintItems. Essas funções definem e imprimem os valores das variáveis ​​de membros privados nome do item e ItemQty. O código usa ";" No final de cada definição de função, que não é um erro de sintaxe. A função principal cria uma instância da classe, define os valores de nome do item e ItemQty, e imprime os valores usando o PrintItems função. O código é executado com sucesso sem erros de sintaxe.

Saída

Conclusão

O C ++ utiliza classes como um bloco de construção fundamental para abstrair dados e funcionalidade. Este artigo tem como objetivo fornecer esclarecimentos sobre uma pergunta comumente feita sobre o uso de ";" concluir uma declaração de função dentro de uma definição de classe. Não é um erro de sintaxe usar ";" Nesse contexto, e fornecemos um exemplo de código de amostra para ilustrar este ponto.