| maison  | Hardware  | réseaux  | programmation  | Logiciel  | Dépannage  | systèmes |  
programmation  
  • C /C + + Programming

  • Computer Programming Languages

  • Delphi Programming

  • Programmation Java

  • Programmation JavaScript

  • PHP /MySQL Programmation

  • programmation Perl

  • Programmation Python

  • Ruby Programming

  • Visual Basics programmation
  •  
    Connaissances Informatiques >> programmation >> C /C + + Programming >> Content
    Comment utiliser des constructeurs de copie en C + +
    Un constructeur de copie est une fonction de membre de spécial à l'intérieur d'une classe. Il accepte une référence à un objet existant du même type de classe et fait une copie complète de cet objet. Une copie en profondeur non seulement copie tous les champs de membres, mais aussi copie toute la mémoire allouée dynamiquement. Compilateurs C + + faire construction de copie automatiquement . Vous devez définir un constructeur de copie lors de votre classe implique la mémoire dynamique . Choses que vous devez
    intermédiaire C + + connaissance
    compilateur C + + , comme Visual Studio 2008
    Show More Instructions
    1

    critique quand il faut appeler un constructeur de copie . Il ya trois situations : . Lors de la création d'un objet à partir d'un objet existant du même type , lorsque vous passez un objet par valeur à une fonction et quand une fonction retourne un objet
    2

    savoir quand votre C + + classe a besoin d'un constructeur de copie . Elle se résume à cela. Si votre classe comporte des pointeurs et il effectue allocation dynamique de mémoire , alors vous devez lui donner un constructeur de copie explicite.
    3

    Regardez un exemple où vous n'avez pas à définir un constructeur pour une classe C + + . Classe X a seulement empiler les variables et pas de pointeurs . Une copie superficielle est suffisante pour copier les valeurs d'un objet existant à un nouvel objet . Le compilateur peut faire cela automatiquement, donc vous n'avez pas à définir un constructeur de copie pour la classe X : class X { int num
    ;
    publique :
    X () : num (0 ) {}
    ~ X (); }
    ;
    4

    étude un exemple qui demande une définition constructeur de copie explicite. Comme vous pouvez le voir, la taille de la chaîne , N, n'est pas une valeur codée en dur mais est déterminée par l'utilisateur. Pour créer B de A comme dans l'expression "ZB (A), " vous devez dire au compilateur la quantité de mémoire à allouer à B. L' endroit pour ce faire est le constructeur de copie , comme suit : classe Z {
    int N;
    char * str ;
    publique :
    Z (int n) : N ( n) {
    str = new char [ N] ;
    }
    Z ( Z et autres) {
    str = new char [ other.GetLen ()] ;
    //copier les données de la str de «l'autre» à la str de " cette "
    }
    ~ Z () {
    delete [] str ; }

    int GetLen () const {
    retour N;
    } }
    ;


    Previous :

    next :
      articles connexes
    ·Comment ajouter une DLL dans Visual C 
    ·Comment brancher une barre de progression pour IO.Strea…
    ·Quelle est la différence entre le privé et public les…
    ·Comment apprendre C avec Xcode 
    ·Comment faire une demande d'alarme MFC 
    ·Comment faire pour obtenir un pointeur vers un bitmap e…
    ·Comment lire un tableau en langage C 
    ·Comment faire pour créer une DLL # Bibliothèque de cl…
    ·Comment compiler Netcat 
    ·Comment obtenir un nombre pair en RPC 
      articles en vedette
    ·Django Vs . Perl 
    ·Comment Correction d'un échec d'assertion Visual C 
    ·Comment savoir Microsoft FoxPro ligne 
    ·Comment construire des applications SaaS 
    ·Comment ouvrir MS Access 2003 Rapports avec Visual Basi…
    ·Comment faire un bouton de téléchargement d'un fichie…
    ·Visual Basic 6.0 Didacticiel SQL 
    ·Comment faire pour créer un fichier texte pour MySQL 
    ·Comment tuer une commande à l'aide Python 
    ·Comment insérer un enregistrement dans la base de donn…
    Copyright © Connaissances Informatiques http://fr.wingwit.com