Czy funkcje / zmienne klasowe muszą być zadeklarowane przed użyciem?

Więc uczyłem się o klasach i natknąłem się na coś, co znalazłem dla mnie niezręczne.

class Nebla 
{
    public:
        int test()
        {
            printout();
            return x;
        }

        void printout()
        {
            printout2();
        }

    private:
        int x,y;
        void printout2()
        {
            cout<<"Testing my class";
        }
};

Odkryłem, że w klasie mogę używać funkcji, zanim je zadeklaruję (prototypuj je)

Widzisz, że użyłemprintout() , printout2() przed deklaracją.

I mogę używać zmiennych także przed ich zadeklarowaniem

Widzisz, że takreturn x; przed zadeklarowaniem x.

Dlaczego mogę używać funkcji i zmiennych w klasach przed deklaracją, ale poza klasą, jeśli to zrobię, pojawia się błąd?

Dzięki

questionAnswers(4)

yourAnswerToTheQuestion