Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Aprenda Delegação de Construtores | Construtores e Destrutores
C++ Poo
course content

Conteúdo do Curso

C++ Poo

C++ Poo

1. Fundamentos de POO em C++
2. Construtores e Destrutores
3. Visão Geral do Encapsulamento
4. Visão Geral de Herança
5. Visão Geral do Polimorfismo

book
Delegação de Construtores

Delegação de construtor (também chamada de encadeamento ou encaminhamento de construtor) permite que um construtor chame outro dentro da mesma classe para reutilizar lógica comum de inicialização.

Sintaxe da Delegação de Construtor

A delegação de construtor geralmente é utilizada na sintaxe de uma lista de inicialização. Ela envolve o uso do operador dois-pontos (:), seguido pelo construtor para o qual se deseja delegar, e então quaisquer argumentos ou parâmetros adicionais que precisam ser passados.

user_account.h

user_account.h

copy
1234567891011121314151617
class UserAccount { public: // Primary constructor UserAccount(int userId, int accessLevel) : userId(userId), accessLevel(accessLevel) { // Constructor body } // Delegating constructor (default accessLevel) UserAccount(int userId) : UserAccount(userId, 0) { // Constructor body } int userId; int accessLevel; };

O uso de listas de inicialização para delegação de construtores não é obrigatório, mas geralmente é recomendado por questões de clareza e desempenho. Se necessário, é possível chamar um construtor sobrecarregado a partir de outro construtor.

point.h

point.h

copy
123456789101112131415
#include <iostream> class Point { public: // Delegating constructor to initialize default point at origin Point() { Point(0, 0); } // Main constructor Point(int x, int y) : x(x), y(y) {} int x, y; };
Note
Nota

Recursão infinita potencial pode ocorrer ao utilizar delegação de construtores. Certifique-se de estruturar os construtores para evitar loops de invocação recursiva

Delegação de construtores oferece múltiplos benefícios na programação orientada a objetos e é conveniente de usar, apesar de qualquer complexidade inicial que possa aparentar.

question mark

O que é delegação de construtor?

Select the correct answer

Tudo estava claro?

Como podemos melhorá-lo?

Obrigado pelo seu feedback!

Seção 2. Capítulo 5

Pergunte à IA

expand

Pergunte à IA

ChatGPT

Pergunte o que quiser ou experimente uma das perguntas sugeridas para iniciar nosso bate-papo

course content

Conteúdo do Curso

C++ Poo

C++ Poo

1. Fundamentos de POO em C++
2. Construtores e Destrutores
3. Visão Geral do Encapsulamento
4. Visão Geral de Herança
5. Visão Geral do Polimorfismo

book
Delegação de Construtores

Delegação de construtor (também chamada de encadeamento ou encaminhamento de construtor) permite que um construtor chame outro dentro da mesma classe para reutilizar lógica comum de inicialização.

Sintaxe da Delegação de Construtor

A delegação de construtor geralmente é utilizada na sintaxe de uma lista de inicialização. Ela envolve o uso do operador dois-pontos (:), seguido pelo construtor para o qual se deseja delegar, e então quaisquer argumentos ou parâmetros adicionais que precisam ser passados.

user_account.h

user_account.h

copy
1234567891011121314151617
class UserAccount { public: // Primary constructor UserAccount(int userId, int accessLevel) : userId(userId), accessLevel(accessLevel) { // Constructor body } // Delegating constructor (default accessLevel) UserAccount(int userId) : UserAccount(userId, 0) { // Constructor body } int userId; int accessLevel; };

O uso de listas de inicialização para delegação de construtores não é obrigatório, mas geralmente é recomendado por questões de clareza e desempenho. Se necessário, é possível chamar um construtor sobrecarregado a partir de outro construtor.

point.h

point.h

copy
123456789101112131415
#include <iostream> class Point { public: // Delegating constructor to initialize default point at origin Point() { Point(0, 0); } // Main constructor Point(int x, int y) : x(x), y(y) {} int x, y; };
Note
Nota

Recursão infinita potencial pode ocorrer ao utilizar delegação de construtores. Certifique-se de estruturar os construtores para evitar loops de invocação recursiva

Delegação de construtores oferece múltiplos benefícios na programação orientada a objetos e é conveniente de usar, apesar de qualquer complexidade inicial que possa aparentar.

question mark

O que é delegação de construtor?

Select the correct answer

Tudo estava claro?

Como podemos melhorá-lo?

Obrigado pelo seu feedback!

Seção 2. Capítulo 5
some-alt