Existe uma função especial em C++. É uma função com o mesmo nome do nome da classe em uma classe e não tem valor de retorno. Contanto que definamos um objeto da classe, o sistema irá chamá-lo automaticamente para inicialização especial. do objeto. Na maioria dos casos, como não definimos um construtor , o sistema irá gerar um formulário padrão e um construtor oculto por padrão. O corpo da função deste construtor está vazio e, portanto, não possui nenhuma função.
A seguir, ensinaremos como definir seu próprio construtor. O usuário precisa definir pelo menos um construtor sozinho. O sistema não irá mais gerá-lo automaticamente, mas selecionará o mais adequado para chamar com base no construtor definido pelo usuário. .
Por exemplo, ainda usando a classe Student, adicionamos um construtor com parâmetros padrão. O código é o seguinte:
#include<iostream>#include<Cstring>usingnamespacestd;classStudent{private:intnum;//número do aluno charname[100];//nome intscore;//pontuação public:Student(intn,char*str,ints);intprint( );intSet(intn,char*str,ints);};Aluno::Aluno(intn,char*str,ints){num=n;strcpy(nome,str);pontuação=s;cout<<Construtor<< endl;}intStudent::print(){cout<<num<<<<nome<<<<pontuação;return0;}intStudent::Set(intn,char*str,ints){num=n;strcpy(nome, str);score=s;}intmain(){StudentA(100,dotcpp,11);A.print();return0;}
Ou seja, o construtor pode ser chamado ao mesmo tempo que é definido para realizar a função de inicialização. A operação é a seguinte:
Deve-se observar que como definimos um construtor com parâmetros padrão na classe, o sistema não irá gerá-lo automaticamente. Neste momento, também precisamos passar três valores iniciais padrão ao definir o objeto, pois o construtor. pode sobrecarregar, o sistema encontrará a função mais adequada, mas se não for definida como um construtor com parâmetros padrão, um erro será relatado.