2013-07-27 17 views
5

jestem oglądania cocos2dx C++ kod źródłowy, a w nim jest wiele miejsc, gdzie oni używająUżywanie C++ w klasie Nazwa klasy;

class Classname; 

np zgodne CCNode.h 43

class CCCamera; 

ClassName jest nazwa klasy, z których korzystają i później nie widzę żadnego odniesienia do tego, czego nigdy wcześniej nie widziałem.

Chciałbym wiedzieć, co to znaczy.

+2

Brzmi jak deklaracja __forward__. Zobacz: [Kiedy użyć deklaracji forward?] (Http://stackoverflow.com/questions/553682/when-to-use-forward-declaration) – Blastfurnace

+1

Co powiedział @Blastfurnace. Ale ty ** naprawdę ** powinien trochę więcej wysiłku, aby przedstawić swoje pytanie. Przekroczenia słów kluczowych po prostu nie da się zrobić. – sehe

Odpowiedz

7

To jest deklaracja do przodu, tak aby rzeczywisty import wystąpił w plikach .cpp zamiast w plikach nagłówkowych. Jest to powszechna praktyka w OOP C++.

Dla dobrego wyjaśnienia, zobacz ten post z podobnym pytaniem C++ Forward declaration

Po dokonaniu zgłoszenia do przodu, jesteś informując kompilator masz zamiar użyć czegoś z góry. Ważnym dowodem na to, jak zadeklarowano w powyższym linku, jest to, że deklaracje forward przerywają cykliczne odniesienia i skracają czas kompilacji kompilacji.