Symbolic C++ – An Introduction To Computer Algebra Using Object-oriented Programming