Como Instanciar Uma Classe

Índice:

Como Instanciar Uma Classe
Como Instanciar Uma Classe

Vídeo: Como Instanciar Uma Classe

Vídeo: Como Instanciar Uma Classe
Vídeo: Como criar uma classe em java e instanciar objetos #1 (PARTE 1) 2024, Novembro
Anonim

O paradigma de programação orientada a objetos é predominante em todas as ferramentas e linguagens modernas para a criação de software. O padrão da indústria hoje é a linguagem de programação orientada a objetos C ++. Você pode criar uma instância de uma classe em C ++ de várias maneiras diferentes.

Como instanciar uma classe
Como instanciar uma classe

É necessário

Compilador C ++

Instruções

Passo 1

Instancie a classe como uma variável automática no escopo local definido por uma função, método de classe ou bloco de instrução. Use uma definição declarativa ou imperativa de um objeto de classe em um local selecionado em seu programa. Se necessário, faça uma chamada explícita a qualquer construtor com parâmetros. Crie um objeto usando um código semelhante ao seguinte: void CMyClass:: SomeMethod () {COtherClass oSomeObject1; // cria um objeto usando o construtor padrão COtherClass oSomeObject2 (1980, "Victor V. Vakchturov"); // criando um objeto usando um construtor com parâmetros} Memória para objetos de classes criadas de maneira semelhante, como para quaisquer outras variáveis automáticas, é alocada na pilha. Portanto, quando você sai do escopo e remove o quadro de pilha, o objeto será destruído (com uma chamada para o destruidor).

Passo 2

Crie uma instância da classe no heap usando o novo operador. Defina uma variável do tipo ponteiro para objetos da classe a ser instanciada. Dê a ele um valor que é o resultado da avaliação do novo operador. Chame o construtor apropriado. Use um trecho de código semelhante ao seguinte: CSomeClass * poSomeObject; // definição de um ponteiro para objetos da classe CSomeClasspoSomeObject = new CSomeClass; // Cria um objeto da classe CSomeClass * poSomeObject_2 = new CSomeClass (111, "3V"); // criação com uma chamada ao construtor com parâmetros Ao criar objetos por este método, o mecanismo de alocação de memória definido pelo novo operador é usado (se não for substituído e sua própria função de alocação não for definida), então o endereço do novo objeto não é conhecido com antecedência. Todos os objetos criados desta forma devem ser explicitamente excluídos usando o operador delete.

etapa 3

Crie uma instância da classe usando o novo operador em um pedaço de memória auto-alocado. Use um código semelhante ao seguinte: void * p0 = malloc (sizeof (CSomeClass)); // alocação de memória void * p1 = malloc (sizeof (CSomeClass)); // alocação de memória new (p0) CSomeClass; // inicializa o objeto na memória alocada (construtor padrão) new (p1) CSomeClass (111, "abc"); // inicialização do objeto (construtor com parâmetros) Antes de destruir objetos criados por este método, você deve chamar explicitamente seu destruidor: ((CSomeClass *) p0) -> ~ (); A criação de objetos desta forma é usada principalmente em classes de contêiner de modelo de várias bibliotecas (como STL).

Recomendado: