There are four storage classes in C++ - auto, register, static, and extern. Auto and register are for local variables and their lifetime is within the scope of the function. Static can be used for both local and global variables and holds its value between function calls. Extern is used for global variables to share them across multiple files.