2015-04-20 17 views
19

Ben böyle görünüyordu kod parçası geldi? İşlevinin ne olduğunu açıklayan hiçbir yer bulamıyorum. Bir çeşit belirsizlik veya bir şey olması durumunda, bir sınıf olarak SomeClass hakkında konuştuğunu belirtiyor mu? Kafam karıştı."sınıfı" Dönüş Tipi Anahtar Kelime C++

+1

Bu, _very_ neredeyse http://stackoverflow.com/q/29580288/560648 –

cevap

20

class SomeClass (teknik olarak, bu özenli bir tür belirteci s) sınıf türü SomeClass atıfta bir sembolüne bir yöntemdir. Genellikle class eklenmesi gereksizdir ve ikisi de eşdeğerdir. Ancak, aynı ada sahip bir değişken veya işlev varsa, belirsizliği gidermek bazen gerekebilir.

9

İleri bildirim. Sadece, "Programımda bir yer olan bazı sınıflar var, sadece bu dosyayı görememek için görülebilir" diyebilirsiniz.

Bu işlevi uyguladığınızda, dosya, SomeClass sınıfının gerçek arabirimine sahip olmalıdır.

+1

Teknik olarak doğru bir şekilde, sorunun birkaç nüansını kaçırdığınızı düşünüyorum. –

13

Bu, disambiguate için kullanılır.

bir aynı (veya dış) kapsamında aynı adlı değişkeni, bir şey böyle varsa örneğin ki: fonksiyon beyan mantıklı olmaz class anahtar kelime olmadan

int SomeClass; //SomeClass is declared to be variable here 

class SomeClass* GetSomeClass() 
{ 
    return _instanceOfSomeClass; 
} 

derleyici class anahtar sözcüğü, derleyiciye değişken bildirimini yok saymasını ve sınıf bildirimi aramasını söyler.