Jeśli mam zagnieżdżone klasy tak:Zagnieżdżone klasy Definicja w pliku źródłowym
class MyClass
{
class NestedClass
{
public:
// nested class members AND definitions here
};
// main class members here
};
Obecnie definicje MyClass
są w pliku CPP
ale definicje dla NestedClass
są w pliku nagłówkowym, czyli Nie mogę zadeklarować funkcji/konstruktorów w pliku CPP
.
Moje pytanie brzmi: jak zdefiniować funkcje NestedClass
w pliku cpp? Jeśli nie mogę, jaki jest powód (a jeśli tak, to mam niejasne pojęcie, dlaczego tak się dzieje, ale chciałbym dobrego wyjaśnienia)? A co ze strukturami?
Co masz na myśli przez "nie ... jak inne wewnętrzne klasy"? –
@Alf: gdzie napisałem "nie"? – sje397
Przepraszam, moje oczy ewidentnie skrzyżowane lub coś. Wciąż zastanawiasz się, co masz na myśli przez ostatnie zdanie. Chodzi mi o to, że klasa wewnętrzna nie musi być zdefiniowana w zewnętrznej klasie (np. Opiera się na tym zwykły idiom PIMPL). I to wydaje się zaprzeczać temu, co piszesz w ostatnim zdaniu, więc prawdopodobnie masz na myśli coś innego niż to, co zostało napisane dosłownie? Pozdrawiam, –