C++ Viva Questions By:yatendra Kashyap

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 6

EXPECTED VIVA QUESTIONS

1. What is a class?

Class is concrete representation of an entity. It represents a group of objects, which hold similar attributes and
behavior. It provides Abstraction and Encapsulations. Classes are generally declared using the keyword class.

2. What is an Object? What is Object Oriented Programming?

Object represents/resembles a Physical/real entity. An object is simply something you can give a name.

Object Oriented Programming is a Style of programming that represents a program as a system of

objects and enables code-reuse.

3. What is Encapsulation?

Encapsulation is binding of attributes and behaviors. Hiding the actual implementation and exposing the

functionality of any object. Encapsulation is the first step towards OOPS, is the procedure of covering

up of data and functions into a single unit (called class). Its main aim is to protect the data from out

side world

4. What is Abstraction?

Hiding the complexity. It is a process of defining communication interface for the functionality and

hiding rest of the things.

5. What is Overloading?

Adding a new method with the same name in same/derived class but with different number/types of

parameters. It implements Polymorphism.

6. What is Inheritance?

It is a process in which properties of object of one class acquire the properties of object of another

class.

7. What is an Abstract class?

An abstract class is a special kind of class that cannot be instantiated. It normally contains one or more

abstract methods or abstract properties. It provides body to a class.

8. What is Polymorphism? And its type?


9 What do you mean by iostream.h?
10 What is inheritance and its type?

11 What is the difference b/n public, private and protected?

1. Public: The data members and methods having public as access outside the class.

2. Protected: The data members and methods declared as protected will be accessible to the

class methods and the derived class methods only.

3. Private: These data members and methods will be accessibl not from objects created outside

the class.

12 What is the difference b/n variable declaration and definition?

13 What is a void return type?


A void return type indicates that a method does not return a value.
14What is the difference between a while statement and a do statement?
A while statement checks at the beginning of a loop to see whether the next loop iteration
should occur. A do statement checks at the end of a loop to see whether the next loop
iteration should occur..
15What is a nested class? Why can it be useful?
A nested class is a class enclosed within the scope of another class. For example: // Example
1: Nested class // class Outer Class {class Nested Class {// …}; //...
16What is inline function?
Normally, a function call transfers the control from the calling program to the function and after
the execution of the program returns the control back to the calling program after the function call.
These concepts of function saved program space and memory space are used because the function
is stored only in one place and is only executed when it is called. This concept of function execution
may be time consuming since the registers and other processes must be saved before the function
gets called.

The extra time needed and the process of saving is valid for larger functions. If the function is short,
the programmer may wish to place the code of the function in the calling program in order for it to
be executed. This type of function is best handled by the inline function. In this situation, the
programmer may be wondering “why not write the short code repeatedly inside the program
wherever needed instead of going for inline function?” Although this could accomplish the task, the
problem lies in the loss of clarity of the program. If the programmer repeats the same code many
times, there will be a loss of clarity in the program. The alternative approach is to allow inline
functions to achieve the same purpose, with the concept of functions.
17 What is preprocessor?
The preprocessor is used to modify your program according to the preprocessor directives
in your source code. Preprocessor directives (such as #define) give the preprocessor specific
instructions on how to modify your source code. The preprocessor reads in all of your
include files and the source code you are compiling and creates a preprocessed version of
your source code. This preprocessed version has all of its macros and constant symbols
replaced by their corresponding code and value assignments. If your source code contains
any conditional preprocessor directives (such as #if), the preprocessor evaluates the
condition and modifies your source code accordingly.
The preprocessor contains many features that are powerful to use, such as creating macros,
performing conditional compilation, inserting predefined environment variables into your
code, and turning compiler features on and off. For the professional programmer, in-depth
knowledge of the features of the preprocessor can be one of the keys to creating fast,
efficient programs.
18 What is difference between visual c++ & ANSI c++?
Don't get confused with the words visual and ANSI. Follow this.
Visual C++ is an IDE for developing GUI(graphical user interface) real time applications
using++. Visual C++ deals with more complex applicationsANSI C++ is the developed
version of C++'s earlier versions. The thing is that the libraries are updated with new
functions compared to previous versions
19 What is the difference between overloading and overriding?
Overloading - Two functions having same name and return
Type, but with different type and/or number of arguments.
Overriding - When a function of base class is re-defined in
the derived class.
20 C++ Memory Management operators
The concept of arrays has a block of memory reserved. The disadvantage with the concept of
arrays is that the programmer must know, while programming, the size of memory to be
allocated in addition to the array size remaining constant. In programming there may be
scenarios where programmers may not know the memory needed until run time. In this case,
the programmer can opt to reserve as much memory as possible, assigning the maximum
memory space needed to tackle this situation. This would result in wastage of unused memory
spaces. Memory management operators are used to handle this situation in C++ programming
language.
21 What are memory management operators?

There are two types of memory management operators in C++:


• new
• delete
22 What is array and its type?
23 What is the difference b/n array and pointer?
Pointer –pointer is a variables that hold the address of another variable .It is used to manipulate
data using the address, pointer use the * operator to access the data pointed by them.
Array–array use subscripted [] variable to access and manipulate the data ,array variables can be
equivalently written using pointer expression.

A special function Always called whenever an instance of the class is created.

• Same name as class name

• No return type

• Automatically call when object of class is created

• Used to initialize the members of class

• class Test

int a,b;

Test()

a=9;

b=8;

};

Here Test() is the constructor of Class Test.


24 What is copy constructor?

Constructor which initializes it's object member variables ( by shallow copying) with

another object of the same class. If you don't implement one in your class then compiler

implements one for you.

for example:
○ Test t1(10); // calling Test constructor

Test t2(t1); // calling Test copy constructor

Test t2 = t1;// calling Test copy constructor

• Copy constructors are called in following cases:

• when a function returns an object of that class by value

• when the object of that class is passed by value as an argument to a function

• when you construct an object based on another object of the same class

25 What is default Constructor?

Constructor with no arguments or all the arguments has default values. In Above Question Test() is a

default constructor

26 What is friend function?

As the name suggests, the function acts as a friend to a class. As a friend of a class, it can access its

private and protected members. A friend function is not a member of the class. But it must be listed in

the class definition.

27 What is a scope resolution operator?

A scope resolution operator (::), can be used to define the member functions of a class outside the

class.

28 What do you mean by pure virtual functions?

A pure virtual member function is a member function that the base class forces derived classes to

provide. Normally these member functions have no implementation. Pure virtual functions are equated

to zero. class Shape

{
public: virtual void draw() = 0;

};

29 What are the advantages of inheritance?

It permits code reusability. Reusability saves time in program development. It encourages the reuse of

proven and debugged high-quality software, thus reducing problem after a system becomes functional

30 What are virtual functions? Describe a circumstance in which virtual functions would be appropriate

Virtual functions are functions with the same function prototype that are defined throughout a class

hierarchy. At least the base class occurrence of the function is preceded by the keyword virtual. Virtual

functions are used to enable generic processing of an entire class hierarchy of objects through a base

class pointer. For example, in a shape hierarchy, all shapes can be drawn. If all shapes are derived from

a base class Shape which contains a virtual draw function, then generic processing of the hierarchy can

be performed by calling every shape’s draw generically through a base class Shape pointer.

31 Distinguish between virtual functions and pure virtual functions

A virtual function must have a definition in the class in which it is declared. A pure virtual function does

not provide a definition. Classes derived directly from the abstract class must provide definitions for the

inherited pure virtual functions in order to avoid becoming an abstract base class

32 What is the difference between parameter and arguments?


Parameter –While defining method, variable passed in the method are
called parameters.
Arguments-While using those methods value passed to those variables are
called arguments.

You might also like