Maison > développement back-end > C++ > Où dois-je placer la liste d'initialisation des membres dans un constructeur C ?

Où dois-je placer la liste d'initialisation des membres dans un constructeur C ?

Susan Sarandon
Libérer: 2024-12-14 12:33:11
original
349 Les gens l'ont consulté

Where Should I Place the Member Initializer List in a C   Constructor?

Placement de la liste d'initialisation dans la définition du constructeur

Lors de la définition d'un constructeur de classe, il est essentiel de comprendre le rôle de la liste d'initialisation des membres. Cette liste initialise les variables membres dans le cadre de la définition du constructeur.

En ce qui concerne son emplacement, la liste d'initialisation fait partie de la définition du constructeur, pas de sa déclaration. Cela signifie qu'il n'est pas inclus dans le fichier d'en-tête (.h) où la classe elle-même est déclarée. Au lieu de cela, il réside dans le fichier source (.cpp) où le constructeur est défini.

Exemple d'utilisation

Considérez la classe suivante :

class Example
{
private:
    int m_top;
    const int m_size;
public:
    Example(int size, int grow_by = 1);
};
Copier après la connexion

Dans cet exemple, le constructeur est défini comme suit :

Example::Example(int size, int grow_by) : m_size(5), m_top(-1)
{
    // ...
}
Copier après la connexion

La liste d'initialiseurs au sein de ce constructeur initialise les variables membres m_size et m_top. Il est crucial d'inclure la liste d'initialiseurs dans la définition du constructeur dans le fichier source (.cpp).

Par conséquent, l'emplacement correct de la liste d'initialiseurs se trouve dans la définition du constructeur, et non dans le fichier d'en-tête ( .h) où la classe est déclarée.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal