CS 112 - Week 5 Lecture 2 - 2022-09-22

TODAY WE WILL
*   announcements
*   continue intro to writing a C++ class!
*   prep for next class

*   TOMORROW during lab: Exam 1

*   Watch for e-mails (after Exam 1!) as parts
    of Homework 4 become available!

=====
*   using separate compilation style,
    for a class,
    *   we'll put its class definition in a header
        file with suffix .h (PlayerChar.h)

    *   and we'll put the implementations of the
        class' methods in an implementation file
	with suffix .cpp -> we'll create PlayerChar.cpp
	                    today

    *   note: CS 112 class style:
        each constructor method should initialize
	all of the new object's data fields

    *   be sure to #include the class' header file
        in its implementation file!

    *   IN implementing each method,
        you "tell" the compiler that you are
	implementing a method of a class
	by PRECEDING the method name in its
	header with the class name and the
	SCOPE RESOLUTION operator, ::

=====
function to_string, from C++ string library
*   has two overloaded versions
*   ONE expects an int, and returns a string version
    of that int
*   ONE expects a double, and returns an (ugly)
    version of that double

*   FUN FACT (added AFTER CLASS!):
    *   to_string is SUCH a useful method name, you might
        be tempted to include it in a class you write!

    *   Are you in trouble if you want to use the string
        library's to_string method in your class' implementation
	of to_string?
	...not if you use the SCOPE RESOLUTION operator to
	   let the compiler know you want the standard library's
	   (std) string class' version!

string MyClass::to_string() const
{
    return "MyClass(blah blah, " + std::to_string(13) + ", blah blah)";
}