Onesi. Veri kopya etmesidir Bir nesne nesne-oriented programlama dillerinde karma bir veri tiptir. Hareket neyin içinde bir nesne tanımlayan 1
Object copy1 böyle Aynı veri tipinin başka nesnesine kopya eden hareket neyin içinde bir nesneni tanımlayan hareket neyin içinde bir nesneni tanımlayan 1
Object copy1 böyle Atfetmesi var. Bir nesne reuse tüm veya yeni bir bağlamda verisinin bölümünü kopya edilen için olur.
The programlama prosedürüleceği also 6 References
//
In bundan önceki örnek , nesne birin tüm atfetmesinin değerleri nesne B 'da uygun atfetmeye kopya edildi. Bu teknik kontrol için ihtiyaç ve hangisi değili kopya edilene atfeten yok kadar güzel uzundur. Bu zahmet bazı nesne-oriented programlama sı teklifisi bir özelliği yenmek yenmek bu zahmet bazı nesne-oriented programlama sı teklifisi bir özelliği operatör fazla yüklemesini çağırdı.
Another yol onda o yapan nasıl bir nesnenin yapı bir kopyasınacağı. Yaratılıştır Bu yaklaşma alıntı takibetmeyi belgelerle ispat eder. Nesne vektörü sınıf vektörü { halka nasıl benzediği
// tanımı: İnt x , y , z; }; . . . Vektör bir; Bir. X = 10; Bir. Y = 20; Bir. Z = 30; Vektör B( Bir) ; B'in creationIn bu durumundaki B 'a // kopya bir , tam bir kopya inşaatçisi önceki örnekte ile aynı sonuç başarırdı. Eğer bir bilgisayar programcısı atfetmenin, ne kopya edilmiş olmak olduğu belirtmek isterse o veya o açık kopya inşaatçisini yazabilir.
If biz değil kopya etmene karşı çıkmayınca[ , C++ yerine getirmeyi yaratacak [ Copy
Also , operatörü kullanıyor olunca" =" ( Atama) Nesne olmayı kopya ediyor. Bu atama operatörünü gerektirir( Operatör =) Fazla yüklenmiş , yoksa yalnızca sığ yer kopyasısı olmak olmak fazla yüklenmiş , yoksa yalnızca sığ yer kopyasısı yapılır.
Example:
Cat bir; Kedi b; Bir = b; Atama operatorIn hesaplama , Derin bir kopya orijinal nesnenin verisi sarılan tamı içeren bir kopyadır. , Ona orijinal nesnenin kullanılmışı olmak için bağımsız olarak izin veriyor Karşıtlıkta , Bir sığ yer kopyası orijinal tarafından ve kopya paylaşılan veriye birleşmiş olan bir kopyadır.
For örnek , , Ve eğer sığ yer kopyası işaretçinin, aynı ipe nerede yöneldiği bir nesneni yaradacak olurken bir C++ sınıf hatta bir geçersiz-terminated ipe bir işaretçi , derin kopya kopya ipi ,ı içerirsenin, her ikisi nesneleri etkileyen ona değiştirir.
Shallow kopyalar nesneler saymaya işaret edince yaygındır.
If siz iptal edilmiş kopya inşaatçisi boyunca doğru veri transfer temin etmek için bunlar 4 yöntemler veya atama operatörünü tamamlamaya ihtiyaç duyan derin bir kopya sizi tamamlamak genellikle istersiniz.
A gömme yöntemin tahsis edilmiş veri structures
Implementors bir nesnenin aynı kopyalarının, ek belleğe toplamayanı sayıyor olan referansla bazı kopya inşaatçileri öyle kurar. Bu teknik dahili nesne verisine giren düşük-düzeyle fena halde karşılıklı birbirini etkiler. Defansif kopya nesnenin, şu anda kopyalamanını var olan bir devleti tuttuğu temin etmek için bir davranış dır. Bir nesne kopya etme gören