Introduction to C++ Interview Questions and Answers
C++ is termed as middle-level language means the combination of features of high level and low-level programming languages. It was developed by Bjarne Stroustrup in the year 1979. It is also referred to as object-oriented programming language. It is compiled, case-sensitive and statically typed.
Preparing for a job interview in C++. I am sure you want to know the most common 2019 C++ Interview Questions and answers that will help you crack the C++ Interview with ease.
Let us have a look at the 2019 C++ Interview Questions that are being asked in interviews. These questions are divided into two parts are as follows:
Part 1 – C++ Interview Questions (Basic)
This first part covers basic C++ interview questions and answers
1. Define Class?
The class generally specifies the structure of data. It can be defined as the blueprint that describes the states of supported types. For e.g. the details of the student in student class like student’s age, name, address, etc. in one block that is class.
2. Define Object?
This is the basic C++ interview questions that are asked in an interview. An object is the instance of a class and it can have states and behavior. Once an object has been created in class, you can easily access the defined members of that class with help of an object.
3. Explain the features or concepts of Object-oriented programming (OOP)?
The features or concepts of OOP are as below:
Abstraction: It is used for hiding the internal implementations and displays only the required details to the user. Abstraction can be implemented with help of abstract class or interface. For e.g. Calculator. In the calculator, it shows only output whatever input is given. How the calculations are done, that is not necessary detail for the user.
Encapsulation: It is referred to as data hiding. It is a mechanism that binds the data and operations together and hides that details from the user. Encapsulation can be achieved with help of access specifiers that are public, private and protected in C++. With help of them, we can provide access or prevent the access directly to a user.
Inheritance: It is referred to as a process of creating new classes from existing classes. It means to inherit the properties of the parent class by the child class. The parent class is also called as Base class and child class is also referred to as a Derived class. Inheritance is used mainly for code reusability and to extend the parent classes.
Polymorphism: It refers to many forms. It mainly describes as when a member function is called, it will execute the different function depending on the type of object that to invoke the function.
4. What are the access specifiers in C++?
In an object-oriented language, access specifiers are referred to as the keywords that are used to set the accessibility of classes, function, methods and other members. There are only 3 access specifiers for C++ that are: 1. Public 2. Private 3. Protected
- Public: The members or fields that are declared as public can be accessed outside the class as well.
- Private: The members or fields that are declared as private cannot be accessed outside the class. They can be accessed only inside the class.
- Protected: The members or fields that are declared as protected can be accessed outside the class but only in a class derived from that class.
Let us move to the next C++ interview questions.
5. What is the difference between Abstract class and Interface?
The difference between both are as follow:
|1||It can have an instance method and can have an implementation.||It is implicitly abstract and cannot have any state or implementation.|
|2||It can extend other class and multiple interfaces.||It can extend the interface only.|
|3||It cannot be instantiated.||It is absolutely abstract and cannot be instantiated.|
|4||Members can be declared as public, private or protected.||Members are public by default.|
|5||Abstract class referred to as fast.||It is comparatively slow.|
|6||Variables or fields can be declared as non-final||Variables or fields are final|
Part 2 – C++ Interview Questions (Advanced)
Let us now have a look at the advanced C++ Interview Questions.
6. What is inheritance and explain its types?
Inheritance explained earlier, please check question no. 2. There are different types of Inheritance that are:
- Single Inheritance: It refers to the inheritance when there is only one parent class and child class.
- Multiple Inheritance: It refers to inheritance when a derived class inherits the properties of two or more classes.
- Multilevel Inheritance: It refers to inheritance when the derived class is base class for another class.
- Hierarchical Inheritance: It refers to inheritance when multiple derived classes inherit the properties of the same base class.
- Hybrid Inheritance: It refers to Virtual Inheritance. It is a combination of Multilevel and Hierarchical inheritance.
7. What are the data types and variables in C++?
Data types are used to define the type of variable and accordingly, OS allocates the memory space and what can be stored. Variables are declared for which the value will be assigned and while declaring it reserves the memory space to hold the values. For e.g. int X, in this example, ‘int’ is data type and ‘X’ is variable. Some data type examples are int, char, float, long, bool, double, void.
Let us move to the next C++ interview questions
8. What is Constructor and destructor in C++?
The constructor has been executed when the new objects of the class are created. It will have the same name exactly as the class name. A constructor can be the default constructor, which is not required to mention and it does not have any parameter. A constructor can be parametrized constructor that we need to mention or declare in class and parameters needs to be initialized.
Destructor has been executed when the objects of a class are not in scope or it’s no longer in use. It will have the same name exactly as the class name but should be prefixed with (~) sign. It is mainly used for releasing the resources like a closing of files, etc.
9. What are virtual functions in C++?
This is the advanced C++ interview questions that are asked in an interview. It is mainly used to replace the implementation of the parent class. These are the functions that are declared in class with the keyword ‘virtual’. When the parent class type reference is initialized with an object of child class type and overridden method (declared as virtual) is invoked using the parent class reference then the method of child class will get invoked.
10.Difference between C and C++?
|1.||It is procedural programming.||It is object-oriented also.|
|2.||It follows the top-down approach.||Follows a bottom-up approach.|
|3.||It does not support reference variables||Supports reference variables|
|4.||In C, data is less secured.||More secured comparatively.|
|5.||Scanf() and printf()are used for input and output||cin and cout is used for the same.|
|6.||Cannot use functions in structure.||Can use functions in structure.|
This has been a guide to List of C++ Interview Questions and Answers so that the candidate can crackdown these C++ Interview Questions easily. You may also look at the following articles to learn more –
- What Are Windows Interview Questions?
- Advance SQL Interview Questions
- 10 Useful Windows Server Interview Questions
- Best guide on Jenkins vs Bamboo
- Jenkins vs Travis CI: Features
- Jenkins vs TeamCity: Amazing Guide
- C++ Vector vs Array: What to know which is the Best
- Guide to Constructor and Destructor in C++
- Hybrid Inheritance in C++ | How to Works?