7
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?

c++ viva questions by:yatendra kashyap

Embed Size (px)

Citation preview

Page 1: c++ viva questions by:yatendra kashyap

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?

Page 2: c++ viva questions by:yatendra kashyap

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.

14 What 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.. 

15 What 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 {// …}; //...

16 What 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

Page 3: c++ viva questions by:yatendra kashyap

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

Page 4: c++ viva questions by:yatendra kashyap

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:

o 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:

Page 5: c++ viva questions by:yatendra kashyap

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.

Page 6: c++ viva questions by:yatendra kashyap

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.