What I don't understand is from line 20 to 23, the use of ostringstream s;, is that the same as cout, but in string form? Also line 23 uses s.str(), why not just s? Sorry for asking for an explanation as the module that I am reading did just use it without explaining further.
"ostringstream" is like using an external file stream, but it is done with internal memory in the program. and yes it is like a "cout", but to memory not the screen.
The "s.str()" simply makes the "ostringstream" a regular stream.
You can put the whole function in public, but it is better to put the proto types in the header file and put the whole function in a ".cpp" file usually withe the same file name as the header, but with a ".cpp" extension.
"mTitle" is OK, but more often I have seen this written as "m_Title" for these type of variables. Either way the "m" says that it is a member variable of a class.