To get some of the flavor of using C++, look at the definition of the ctr class in slide cc-tech-2 employing multiple constructors, operators, default arguments and type conversion.
class ctr {public: ctr(int i = 0, char* x = "ctr") { n = i; strcpy(s,x); } ctr& operator++(int) { n++; return *this; } int operator()() { return n; } operator int() { return n; } operator char*() { return s; } private: int n; char s[64]; };
C++
ctr c; cout << (char*) c++ << "=" << c();
Again, the difference is most clearly reflected in how an instance of ctr is used. This example illustrates that C++ offers many of the features that allow us to define objects which may be used in a (more or less) natural way. In the end, this is what software development is about, to please the user, within reason.