complete all the c++ features learning