C++  socrates