Class prototyping

Skeith picture Skeith · May 31, 2011 · Viewed 37k times · Source

I have put several instances of class b in class a but this causes an error as class a does not know what class b is.

Now I know I can solve this problem by writing my file b a c but this messes up the reachability as well as annoys me. I know I can prototype my functions so I do not have this problem but have been able to find no material on how to prototype a class.

does anyone have an example of class prototyping in c++.

as there seems to be some confusion let me show you what i want

class A
{
public:

B foo[5];

};

class B
{
public:
int foo;
char bar;
}

but this does not work as A cannot see B so i need to put something before them both, if it was a function i would put A(); then implement it later. how can i do this with a class.

Answer

Kanopus picture Kanopus · May 31, 2011

You can declare all your classes and then define them in any order, like so:

// Declare my classes
class A;
class B;
class C;

// Define my classes (any order will do)
class A { ... };
class B { ... };
class C { ... };