Aracılığıyla paylaş


Bildirimler ve tanımları (C++)

Bildirimleri derleyici program öğesi veya adı var olduğunu söyleyin.Tanımları hangi kod veya veri adı tanımlar belirtin.Bir ad, kullanılmadan önce bildirilmesi gerekir.

Bildirimleri

Bir bildirimi bir veya daha fazla ad bir programa tanıtır.Bildirimleri bir programda birden çok kez ortaya çıkabilir.Bu nedenle, sınıflar, yapılar, numaralandırılan türleri ve diğer kullanıcı tanımlı türler için her derleme birimi bildirilebilir.Bu birden çok bildirim kısıtlamasının tüm bildirimleri aynı olur.Bildirimleri de hizmet tanımları, ne zaman dışında olarak bildirimi:

  1. İşlev prototipi (hiçbir işlev gövdesi ile işlev bildirimi) ' dir.

  2. İçeren extern belirleyici ancak hiçbir Başlatıcı (nesneler ve değişkenleri) veya işlev gövdesi (işlev).Bu tanım geçerli çeviri birimi cinsinden olmak zorunda değildir ve adı dış bağlantı verir belirtir.

  3. Sınıf bildirimi içinde statik veri üyesi değil.

    Discrete değişkenleri sınıfının tüm nesneler tarafından paylaşılan statik sınıf veri üyesi olduğu için bunlar gerekir tanımlanabilir ve sınıf bildirimi dışında başlatıldı.(Sınıflar ve sınıf üyesi hakkında daha fazla bilgi için bkz: sınıfı.)

  4. Sınıf adı yok aşağıdaki tanım bildirimiyle gibi olan class T;.

  5. Olan bir typedef ifadesi.

Ayrıca tanımlarla bildirimleri örnekleri şunlardır:

// Declare and define int variables i and j.
int i;
int j = 10;

// Declare enumeration suits.
enum suits { Spades = 1, Clubs, Hearts, Diamonds };

// Declare class CheckBox.
class CheckBox : public Control
{
public:
            Boolean IsChecked();
    virtual int     ChangeState() = 0;
};

Tanımları değil bazı bildirimlerdir:

extern int i;
char *strchr( const char *Str, const char Target );

Tanımları

Benzersiz bir nesne veya değişken, işlev, sınıf veya numaralayıcı tayini tanımıdır.Tanımları benzersiz olması gerektiğinden, sadece bir tanım verilen program öğesi için bir program içerebilir.Bildirimler ve tanımları arasında çok bir benzerliği olabilir.İki durumda, program öğesi olarak bildirilen ve olması tanımlı vardır:

  1. Bir işlev bildirildi ancak işlev adresi alır bir ifade veya bir işlev çağrısı ile asla başvurulmaz.

  2. Bir sınıf, yalnızca kendi tanım bilinen gerektirmeyen bir şekilde kullanılır.Ancak, sınıf bildirilmelidir.Aşağıdaki kod, böyle bir durumda gösterilmektedir:

    // definitions.cpp
    class WindowCounter;   // Forward reference; no definition
    
    class Window
    {
       // Definition of WindowCounter not required
       static WindowCounter windowCounter;
    };
    
    int main()
    {
    }
    

Ayrıca bkz.

Başvuru

Temel kavramlar