Transcription: You cannot declare a function that takes as an argument an object of an abstract class type. To satisfy such an argument, the compiler would have to create an object of the abstract class in the function scope. In this example, the declaration of f causes a compile time error. The declaration of g does not cause a compile time error because the argument is a reference to an abstract class object.