Serious question: What can I do with C++2?

My C++ II class looks like it will be covering the following:

* Inheritance and Composition

* Pointers, Classes (Guessing it expands on the earlier chapter called classes), Virtual Functions, Abstract Classes, and Lists

* Overloading and Templates

* Exception Handling

* Recursion

* Linked Lists

* Stacks and Queues

* Searching and Sorting Algorithms (Guessing it applies already learned codes)

* Binary Trees

* Graphs

* Standard Template Library (STL)

My serious question is: What next? There isn't a C++ III, so what else is there in the language to learn? Are there more concepts? More functionlities? With what I listed above (And the concepts that build up to them) what can be done? Would it be good for my degree to try and latch onto a software company for whatever they give me to do? What should I do with the work I do? Should I keep some digital copies of various classes I've designed so I can keep using them in stuff? My professor mentioned at the beginning of the semester about "Building ones library", what am I supposed to do with that and how do I get started?

Unfortunately, this course wants me to be a student, not a scholar (don't they all :)) and I really don't have any true vision of what to do outside of what they teach me, though I do have ideas (Got myself a tactical game engine called PPTactical I had considered using to apply my training into a very simple game), also to contribute my knowledge here rather than being always with the questions.

Help is appreciated!

M.
[1668 byte] By [MEversbergII] at [2007-11-20 7:47:40]
# 1 Re: Serious question: What can I do with C++2?
Looks like they got most of the language features covered. Of course, learning how and when to do them takes years of practice.

I find it interesting that you (they?) grouped overloading and templates.... :confused: :confused:
TheCPUWizard at 2007-11-9 13:01:49 >
# 2 Re: Serious question: What can I do with C++2?
I find it interesting that you (they?) grouped overloading and templates.... :confused: :confused:

That's how it's listed in the book, actually.

M.

EDIT: How/when does one normally get trained in how to do some sort of GUI? And how do I make an executable out of my code?
MEversbergII at 2007-11-9 13:02:51 >
# 3 Re: Serious question: What can I do with C++2?
EDIT: How/when does one normally get trained in how to do some sort of GUI? And how do I make an executable out of my code?

This is system-specific and not part of the C++ standard.

There are many useful non-standard API. You should lean them by yourself.
You should learn the ones that seems to be good for you.
For example, if you intend to develop for Win32, you should learn the Win32 API. There are tutorials on internet, plus MSDN for reference, and MSDN knowledge base articles for advanced topics, and MSDN blogs for fun.

To learn how to use a specific compiler (compiling, linking, importing DLLs, exporting functions from DLLs), you should read the manual of your compiler command line tools.

On UNIX systems, you can learn by reading man pages.
www.unix.org/single_unix_specification/ is also a good source of knowledge.
For GUI programming, there are many choices.
Qt, GTK, wxWidgets, FLTK, FOX, Xt, XLib...
SuperKoko at 2007-11-9 13:03:49 >
# 4 Re: Serious question: What can I do with C++2?
Thanks, SuperKoko. The whole GUI stuff nobody ever mentioned in C++ classes I've taken and was not sure if it was a part of the language like it is in Java.

M.
MEversbergII at 2007-11-9 13:04:52 >
# 5 Re: Serious question: What can I do with C++2?
In C++,, very little is "part of the language". Almost all functionallity resides in libraries: CRT, MFC, STL, etc.
TheCPUWizard at 2007-11-9 13:05:58 >
# 6 Re: Serious question: What can I do with C++2?
Should I keep some digital copies of various classes I've designed so I can keep using them in stuff? My professor mentioned at the beginning of the semester about "Building ones library", what am I supposed to do with that and how do I get started?
"Building you library", IMHO is simply keeping a copy of classes and methods you wrote, for future use... Looking at my signature you will see a library of code snips and methods that i've either written myself, or assisted in writting. These are part of my public library, I have many more (over 1 gig of methods, classes and modules) on my system..

Sometimes modules and classes are written specifically for a task and may never be used again, but the methods used will always be needed again.. and it's handy to keep as a simple cut, Paste and edit can save hours of trying to remember how exactly XXXX task is done...

GRemmy
GremlinSA at 2007-11-9 13:06:57 >
# 7 Re: Serious question: What can I do with C++2?
"Sometimes modules and classes are written specifically for a task and may never be used again, but the methods used will always be needed again.. and it's handy to keep as a simple cut, Paste and edit can save hours of trying to remember how exactly XXXX task is done...
GRemmy

To me this is often an indication that I have not factored my architecture optimally. Most of my classes are under 100 lines (total) with 5-10 properties, and fewer methods. I make heave use of aggregation. Over the years I have found that the copy/paste simply yields too many copies of the same code. If I find that I can use a method or two from a class, I will (unless I am in a rush) factor that out to a distinct class, move that class out of the project specific code base, and link to it in a library.
TheCPUWizard at 2007-11-9 13:07:52 >
# 8 Re: Serious question: What can I do with C++2?
I think I'm going to get started building now with a few simple things (practice). I figure I'll make a header and implementation file out of that Roman numeral thing. How exactly do you store your "library"? As a folder of cpp files, or something more advanced?

M.
MEversbergII at 2007-11-9 13:08:54 >