Eh, don't worry. It's 11 PM where I'm at and if it were earlier in the day night I would have written out some considerably better explanations.
You're right that the order in which the theoretical ideals are called is EXTREMELY important, and you need to call Draw before the get functions.* I'm not 100% sure what you meant when you said that any actual values generated by [the implementations] are just incidental, however it seems that you have a decent idea of what's going on and what's necessary regarding those calls.
That said, maybe it would be a good idea if we both got some sleep. I usually retire myself at around 10:30, which is the point when I really have serious trouble staying awake (this is a new record, excluding new years). I might be around earlier tomorrow morning (9-11 AM your time), but it's a possibility. If I'm not, I'm sure one of the other veteran forum members will try to help you understand what's going on. If they give you a list of problems with your code, state that this wasn't exactly what you were hoping for (though if they read this thread they SHOULD know that), and ask your questions as directly as possible, and at least one of them will take the time to explain.
-Albatross
*Alternatively, you could make your object automatically fill those variables with data when it's constructed, but learning how to do that will come a bit later.
Re my comment last night (this morning) about any results being generated by the implementations of the prototypes being incidental:
I sort of thought that values were being assigned, etc....and that this information may or may not be valid (for later use) depending on the order of the information in the implementation file. (Is this correct terminology?)
My understand now, after sleeping, is this: Absolutely NOTHING happens in the implementation file, until one of its implementations of the class's prototypes is called by creating an object in the driver file, and using this object to call one of the implementations of the header file defined function or data members.
Wow. Cant believe I said that. Does this make sense?? Im sure that terminology is not entirely correct either, but I think you can understand my point?
Ive complained to this instructor from the word go about his failure to make this all clear.
Here is now my understanding of how classes and objects work.
1. Create class.
This does very little, except essentially "name" the function and data members, and give them very general parameters that define their existence. Hence they are referred to as prototypes.
2. Create implementations
This portion involves generating code that assigns values to the class data members, and functionality to the class function members. Nothing else happens here.
3. Create (whats this called?) section where Objects of the class are created, which enables "calling" of the Object (instance of the class) functions to make something actually happen. Here in this section this is all done in "program main" and included in that also are things like cout and cin functions and lots of other things that I have no idea about yet.
4. Sections 2 and 3 do not have to be done in separate files, (nor section 1 really, I guess), but this is done to create re usability (especially with part 1).
This of course, seems quite stupid when you are writing silly little programs like I am working with and makes the whole thing way too comlicated, but is good training because , eventually it probably becomes quite obvious why this is important if one really did such a thing for a living.
Oh look, there are little buttons right next to this box to help format text.....I dont have to keep looking up the [] type commands? Cool. You programming people are so smart :)
Your understanding appears to be correct. The name of the section of code where the class gets an instance I'm almost certain has a name, but I'm not sure of it.
Oh... detail... cout and cin are not functions. They are objects, declared in the header file <iostream>.
Thanks again for the help. I am going to go try to fix this thing. I think I finally have enough of a basic understanding to head in the right direction, if not necessarily arrive there unmolested, on my own. Thank goodness. I have differential equations to solve and this has been taking up huge amounts of time while I tried to do something that I wasn't even remotely equipped to do.
No problem. Please read back in the posts about what it actually does. I dont mind someone just telling me something (when I know Im never going to figure it out) but I think its important to actually understand it afterwards.
I dont want to just fill squares here, I want to come away with some knowledge.