C++ ce code si je mets une classe après la fonction main()

Je suis de regarder des didacticiels vidéo sur le C++ et je sais que vous devez définir une fonction /classe avant de l'utiliser ou de l'appelé. Mais j'aime bien avoir ma fonction main() en haut, et tout le reste au-dessous de la fonction principale. Je sais que si je définis une fonction en dessous de la fonction principale, je dois le déclarer avant de l'utiliser, mais qu'une classe? De quoi ai-je besoin de le mettre au-dessus de ma fonction principale d'utiliser ma classe en dessous de la fonction principale.

#include <iostream>
using namespace std;

int main()
{
    ClassOne one;
    one.coolSaying();
    return 0;
}

class ClassOne
{
    public:
        void coolSaying()
        {
            cout << "Cool stuff yo!" << endl;
        }
};

J'ai essayé de définir ma classe en plaçant ce droit avant le main():

class ClassOne;

mais ça ne fonctionne pas.

Vous avez besoin de mettre la définition de la classe au-dessus de main(). Ou dans un fichier d'en-tête inclus avant main().
Comment dois-je procéder? J'ai essayé de classe ClassOne; à droite avant le main()
Ce serait une déclaration anticipée, et non une définition. Amende pour déclarer des pointeurs ou des références, pas d'amende pour, en fait, à l'aide des instances de cette classe.
C'est une déclaration. Vous avez besoin de placer tout ce que vous avez actuellement après la main, avant de la main.

OriginalL'auteur Vince | 2013-08-04