You might think that if we knew what caused the frustration, we could have avoided it. Nevertheless, we could not not figure out how to do so. As C++ existed at the time, it was still mostly a tool for defining new abstractions. Therefore, an introductory course had little choice but to begin by talking about how to define abstractions. The tools the students already had available were primitive enough that there was little choice but to begin by teaching them to define abstractions immediately.
GUIDELINES OBJECT ORIENTED PROGRAMMING LENGUAJE C++