sorry for the doublepost,
(jk, i'm not really that sorry)
See, I love my book thats teaching me c++ (the one that I've been singing the praises of just about every time I post) because it teaches me ALL of the ways of doing things as I learn them,
and it's been more than once that I've actually taught things to people that have been programming c++ longer than me, just because they never learned you could do it that way.
it's just kind of hazy as to when/why certain methods are better/worse than others.
up until now I've only been working on smaller projects, so it's been no issue to me to make them local,
but I understand now why you'd want to.
and I guess I've been getting object declaration and initialization confused, well not exactly, just a terminology mishap, because there is the class definition, the object declaration, and object initialization, and really the initialization is the constructor, which happens during declaration, so thats why I got mixed up.
also, skyrunner, I'll go into detail as to WHY that's bad practice. (but I assume you already know this)
if no constructor is listed, it makes a default constructor that declares the member variables, but doesn't initialize them, giving them erroneous values.
BUT, if you declare a param. constructor, but declare the object without params, it won't make a default constructor for you, and you'll get a runtime error, so it's better practice to include a default constructor alongside your param constructor. (or I guess it's not really necessary if you know what you're doing and only declare objects with a matching param. list)