Aracılığıyla paylaş


Kurucular bildirmek için kurallar

Bir kurucu, sınıf ile aynı ada sahip.Aşırı yüklü işlevlerin bir kurala bağlı herhangi bir sayýda yapıcılar bildirilebilir.(Daha fazla bilgi için bkz: Overloading.)

class-name  (  argument-declaration-list  )

Notlar

argument-declaration-list Boş olabilir.

C++ tanımlayan iki özel tür Kurucular varsayılan ve aşağıdaki tabloda açıklanan Kurucular kopyalayın.

Varsayılan ve kopya oluşturucuları

Yapım türü

Değişkenler

Purpose

Varsayılan Oluşturucu

Bağımsız değişken olmadan çağrılabilecek

Bir varsayılan nesne sınıfı türü oluşturma

Kurucu kopyalama

Başvurunun aynı sınıf türü için tek bir bağımsız değişken kabul edebilirsiniz

Kopya nesne sınıfı türü

Varsayılan Oluşturucusu bağımsız değişken olmadan çağrılabilir.Ancak, tüm bağımsız değişkenlerinin varsayılan değerleri varsa bir bağımsız değişken listesi bir varsayılan kurucu bildirebilir.Benzer şekilde, kopya oluşturucuları başvurunun aynı sınıf türü için tek bir bağımsız değişken kabul etmeniz gerekir.Daha fazla bağımsız değişken tarafından sağlanan, izleyen bağımsız değişkenlerin tümü varsayılan olması koşuluyla.

Herhangi bir Kurucular sağlamazsanız, derleyici varsayýlan bir kurucu dener.Bir kopya kurucu sağlamazsanız, derleyici üretmeniz dener.Bu derleyici tarafından oluşturulmuş Kurucular ortak üye işlevleri olarak kabul edilir.Bir nesne ve bir başvuru ilk bir bağımsız bir kopyasını kurucu belirtirseniz, bir hata oluşturulur.

(Vftables ve vbtables, başlatır daha önce açıklandığı gibi) nesnesi, bir derleyici tarafından oluşturulan varsayılan kurucu ayarlar ve temel sınıflar ve üyeleri için varsayılan kurucusuna çağırır, ancak başka bir eylemi gerçekleştirir.Yalnızca Bunlar varsa, erişilebilir ve kesindir temel sınıf ve üye yapıcılar adlandırılır.

Derleyici tarafından oluşturulan kopyası yapıcı yeni bir nesnesini ayarlar ve memberwise kopyalanacak nesnenin içeriğinin kopyasını gerçekleştirir.Temel sınıf veya üye Kurucular varsa verilir; Aksi takdirde Bitsel kopyalama gerçekleştirilir.

Bir sınıfın tüm temel ve üye sınıflarını type kabul kopya oluşturucuları olan bir const derleyici tarafından oluşturulan kopyası yapıcı bir değişken kabul eder, tek bir bağımsız değişken türü consttypeve. Aksi halde, tek bir bağımsız değişken türü derleyicinin ürettiði kopya kurucusu kabul typeve.

Bir kurucu başlatmak için kullanabileceğiniz bir const veya volatile nesne ancak oluşturucu bildirilemez olarak const veya volatile.Yalnızca yasal depolama sınıfı için bir kurucu olan satır içi; diğer depolama sınıfı değiştiricisi, kullanmak da dahil olmak üzere __declspec anahtar sözcüğü bir oluşturucuya sahip bir derleyici hatasına neden oluyor.

Durağan üye işlevleri çağırma stdcall kullanılır ve bildirilen genel işlevler ile çaðrý standardýný anahtar sözcüğünü ve bir değişken bağımsız değişken listesi kullanmayın.Kullandığınızda çaðrý standardýný bir kurucu gibi bir statik olmayan üye işlev anahtar sözcüğü derleyici çağırma thiscall kullanacaktır. "

Temel sınıflar Kurucular türetilmiş sınıflar tarafından miras alınmaz.Türetilmiş bir sınıf türünde bir nesne oluşturulduğunda, temel sınıf bileşenleri ile başlayan oluşturulur; ardından türetilmiş sınıf bileşenlerini taşır.Bu bölümü tam nesne başlatılmamış gibi derleyici her temel sınıfın yapıcısını kullanır (açıklandığı gibi sanal türetme durumlarda hariç Başlatırken temel sınıflar).

Ayrıca bkz.

Başvuru

Kurucular (C++)