Welkom op de Nederland Computer Kennisnetwerk!  
 
Zoeken computer kennis
Home Hardware Netwerken Programmering Software Computerstoring Besturingssysteem
Computer Kennis >> Programmering >> C /C + + Programming >> Content
Hoe te kopiëren Constructors gebruiken in C + +
Een kopie constructor is een speciale lid functie binnen een klasse . Het accepteert een verwijzing naar een bestaand object van dezelfde klasse type en maakt een diepe kopie van dat object . Een diepe kopie niet alleen kopieert alle lid terreinen maar ook kopieert elke dynamisch toegewezen geheugen . C + + compilers doen kopie constructie automatisch . U moet een kopie constructor te definiëren wanneer uw klas gaat dynamisch geheugen . Wat je nodig hebt
Intermediair C + + kennis
C + + compiler , zoals Visual Studio 2008
Toon Meer Aanwijzingen

Beoordeling 1 wanneer u een kopie constructor bellen . Er zijn drie situaties : . Bij het maken van een object uit een bestaand object van hetzelfde type , wanneer u een object langs waarde aan een functie en als een functie van een object retourneert kopen van 2

Weet wanneer je C + + klasse moet een kopie constructor . Komt het neer op dit. Als uw klasse heeft pointers en het presteert dynamisch toewijzen van geheugen , dan moet je het eens een expliciete kopie constructeur .

Kijk 3 naar een voorbeeld waar je niet hoeft te een constructor te definiëren voor een C + + -klasse . Klasse X heeft alleen stapelen variabelen en geen pointers . Een oppervlakkige kopie volstaat om de waarden van een bestaand object in nieuw object kopieert . De compiler kan dit automatisch doen , zodat je niet hoeft te een kopie constructor te definiëren voor klasse X :
class X {
int num ;
publiek :
X ( ) : num ( 0 ) { }
~ X ( ) ; }
;

Studie 4 een voorbeeld dat een expliciete copy - constructor definitie vereist . Zoals u kunt zien , de grootte van de string , N , is geen hard-coded waarde, maar wordt bepaald door de gebruiker . Naar B te maken van A zoals in de uitdrukking " ZB ( A ) , " je moet de compiler vertellen hoeveel geheugen toe te wijzen voor B. De plaats om dit te doen is in de kopie constructor , als volgt :
klasse Z {
int N ;
char * str ;
publiek :
Z ( int n ) : N ( n ) {
str = new char [ N ] ;
}
Z ( Z & andere ) {
str = new char [ other.GetLen ( ) ] ; Twitter //kopiëren van gegevens van de str van " andere " aan de str van "dit"
} < br > ~ Z ( ) {
delete [ ] str ;
}
int GetLen ( ) const { return
N ;
}
} ;
< br >

Previous: Next:
  C /C + + Programming
·Hoe maak je een Vector van het…
·Hoe kan ik een tijdelijke buff…
·Hoe maak je een XLS Sheet in C…
·Hoe maak je een statisch Const…
·Hoe to Change Color in C + + 
·Hoe te INT Variabele omzetten …
·ASP.NET Projecten en codering …
·MFC ActiveX Tutorial 
·Hoe je C -code compileren als …
  Related Articles
Hoe maak je een Combo Box Maak in Visual…
Hoe maak je een Check Box Maak in Visual…
Hoe maak je een tekstvak maken in Visual…
Hoe maak je een optie Box in Visual Basi…
Hoe maak je een schijf keuzelijst in Vis…
Hoe kan ik een keuzelijst maken in Visua…
Hoe kan ik een Picture Box Maak in Visua…
Hoe een bestand keuzelijst Maak in Visua…
Hoe kan ik een afbeelding Box Maak in Vi…
  Programmering Articles
·Hoe maak je een knop in Access Voer een …
·Hoe maak je een record in te voegen in d…
·Lijst van Python modules 
·Hoe maak je een . PK3 bestand maken 
·Hoe maak je een Music Afbeelding in Java…
·Hoe maak je een Codebase wijzigen 
·Hoe te blokken gebruiken AWK Vervang 
·Hoe toegang VBA Query SQL 
·Hoe een muis gebruiken in QBasic 
Copyright © Computer Kennis http://www.nldit.com