A class that cannot be instantiated is a(n) _____ .
The classes which cannot be instantiated are referred as “abstract base class”.
Explanation of Solution
Inheritance:
Inheritance is the concept of inheriting the members and properties of a base class from the derived class. The main advantages of inheritance are,
- Code reusability and fast implementation.
- Reduces the program code.
Abstract base class:
Abstract base class is a class which contains at least one pure virtual function.
- Compiler will not permit the user to instantiate an abstract class.
- Normally, in function the base class contains the implementation and the derived class overrides this implementation with its own implementation.
- But, the class which inherits an abstract base class must provide definition to the pure virtual function.
- The pure virtual functions implementation is not provided, and the function can be made pure virtual by adding (= 0) at the end of the function.
- The pure virtual function is mostly implemented in the derived class and not in a base class.
Example for abstract base class with virtual function:
/*Abstract base class as it uses virtual function*/
class Base
{
/*Access specifier*/
public:
/*virtual function*/
virtual void disp() = 0
};
/*Virtual function definition*/
void Base::disp()
{
//statement;
}
Explanation:
In the above example,
- Define the abstract base class with the name of “Base”.
- Declare the pure virtual function with the name of “disp()” to make the class as the abstract class.
- The implementation of pure virtual function “disp()” is not provided in base class. But, it is given outside of the class definition.
- Hence, the abstract base class “Base” cannot be instantiated.
Want to see more full solutions like this?
Chapter 15 Solutions
Starting Out With C++: Early Objects (10th Edition)
Additional Engineering Textbook Solutions
Database Concepts (7th Edition)
Java How to Program, Early Objects (11th Edition) (Deitel: How to Program)
Starting Out with Java: From Control Structures through Objects (6th Edition)
Starting Out With Visual Basic (8th Edition)
Introduction To Programming Using Visual Basic (11th Edition)
Starting Out with Java: From Control Structures through Objects (7th Edition) (What's New in Computer Science)
- Database System ConceptsComputer ScienceISBN:9780078022159Author:Abraham Silberschatz Professor, Henry F. Korth, S. SudarshanPublisher:McGraw-Hill EducationStarting Out with Python (4th Edition)Computer ScienceISBN:9780134444321Author:Tony GaddisPublisher:PEARSONDigital Fundamentals (11th Edition)Computer ScienceISBN:9780132737968Author:Thomas L. FloydPublisher:PEARSON
- C How to Program (8th Edition)Computer ScienceISBN:9780133976892Author:Paul J. Deitel, Harvey DeitelPublisher:PEARSONDatabase Systems: Design, Implementation, & Manag...Computer ScienceISBN:9781337627900Author:Carlos Coronel, Steven MorrisPublisher:Cengage LearningProgrammable Logic ControllersComputer ScienceISBN:9780073373843Author:Frank D. PetruzellaPublisher:McGraw-Hill Education