prototype applies specifically to functions, and in that context, a prototype is the same as a declaration:
a class can have a (forward) declaration:
but the class definition would be like so:
now a function definition is the part that actually contains the code, like from our above example:
a function definition is also sometimes referred to as its implementation, and defining/implementing a standalone function - that is, not a class member - effectively also declares it.
return 3; // 3 is the most random number available
note that in my class example that the constructor is declared, but there is no code, so it is not defined, although the class can be considered defined at this point. the definition/implementation of the constructor might look like this:
// do some initialization