1) What is C++?
C++ is an object oriented
programming language. It was developed by Bjame Stroustrup in
1983 at the AT & T Bell Laboratories, Now Jersey, USA. It is basically a
super set of C, which provided low level features.
2) What are the
basic concepts of OOP?
- Objects
- Classes
- Data Abstraction and Encapsulation
- Inheritance
- Polymorphism
- Dynamic Binding
- Message Passing
3) What is oops?
An object oriented program is a
collection of discrete objects, which are self contained collections of both
data structures and functions that interact with other objects.
4) What are the characteristic of C++
language?
- It has the following characteristics :
- Reduces complexity while solving problems
- Correctness of results is ensured
- Affordable in terms of hardware and other resources
- Easier and cheaper for integrating existing software facilities and libraries
- Portable i.e. can be used on different types of computers with little or no change in the programs.
5) What
are the types of character set?
- We have two character sets in C++. These are :
- Source characters
- Escape sequences /Execution characters
6) What are the
elements of OBJECT ORIENTED PROGRAMMING?
- The main concepts of object oriented programming are :
- Data Abstraction
- Encapsulation
- Inheritance
- Polymorphism
7) What are the
components of a class?
A class consists of two components data
members and methods.
8) What are methods?
Methods are functions associated
with the class. They are able to access even private data members.
9) What is the
significance of class keyword in C++/Java?
The keyword class (in C++ and Java)
specifies an Abstract Data Type (ADT). ADTs expose operations that provide a
higher level functionality, and the lower level implementation details are
isolated and hidden from the users of the class.
10) What is the
difference between source and escape sequences?
The source text is created with the
help of source characters.
These are interpreted at execution time. The values of these characters are implementation defined.
These are interpreted at execution time. The values of these characters are implementation defined.
11) What are tokens?
The smallest individual units in a
program are called tokens.
12) What are the
types of tokens?
- C++ has the following tokens are :
- Keywords
- Identifiers
- Constants (literals)
- Punctuators (Separators)
- Operators
13) What is an
object?
An object is an instance of a class.
It can be uniquely identified by its name and it defines a state, which is
represented by the values of its attributes at a particular point in time.
14) What is class?
A class is a collection of objects.
A class may be defined as a group of objects with same operations and
attributes. The class is a key word in C++ programming. The
user deals with classes instead of dealing with various individual objects.
15) What is the
difference between private and public class?
The Private access
means that only associated functions can only access the data.
The Public access means that data can be accessed by other objects of the program.
The Public access means that data can be accessed by other objects of the program.
16) What is a
function?
A function is a subprogram that acts
on data and returns a value. A function can be invoked from the other parts of
the program.
17) What are the
types of function?
- Functions are of two types are :
- Built in functions
- User defined functions
18) What
are class members?
A class has members which consist of
data members, the constructor, function, destructor functions and member
functions.
19) What are the
advantages of OOPs?
- Object Oriented Programming has the following advantages over conventional approaches :
- OOP provides a clear modular structure for programs which makes it good for defining abstract data types where implementation details are hidden and the unit has a clearly defined interface.
- OOP makes it easy to maintain and modify existing code as new objects can be created with small differences to existing ones.
- OOP provides a good framework for code libraries where supplied software components can be easily adapted and modified by the programmer. This is particularly useful for developing graphical user interfaces.
20) What
are the application of OOP?
- Real time system
- Object oriented databases
- Neural network and parallel processing
21) What is the
difference between class and objects?
Classes and objects are separate but
related concepts. Every object belongs to a class and every class contains one
or more related objects.
A Class is static. All of the attributes of a class are fixed before, during, and after the execution of a program. The attributes of a class don’t change.
A Class is static. All of the attributes of a class are fixed before, during, and after the execution of a program. The attributes of a class don’t change.
22) What is static
class member?
A static data member has a property
that all instances of the containing class share this one data member.
23) What are methods
and fields?
A class can have members. Methods
and fields are two important members of classes. Member functions are known as
methods and data members are known as fields.
24) What is an
array?
An array is a collection of
identical data objects which are stored in consecutive memory locations under a
common heading or a variable name. In other words, an array is a group or a
table of values referred to by the same variable name. The individual values in
an array are called elements. Array elements are also variables
25) What is a
character array?
The procedure for declaring
character array is almost the same as for other data types such as integer or
floating point. One can declare the character array by means of alphanumeric
characters.
26) Define
Encapsulation?
The wrapping up of data and
functions into a single unit is known as data encapsulation.
Encapsulation means combining data and related functions that use that data together and providing it as a logical entity.
Encapsulation means combining data and related functions that use that data together and providing it as a logical entity.
27) What are access
specifiers?
- Access specifiers determine the accessibility of a class member. In general, there are three important access specifiers :
- Public
- Private
- Protected
28) What is
inheritance?
The mechanism of deriving a new
class (derived) from an old class (base class) is called inheritance. It allows
the extension and reuse of existing code without having to rewrite the code
from scratch. Inheritance is the process by which objects of one class acquire
properties of objects of another class.
29) What is
polymorphism?
Polymorphism means one name,
multiple forms. It allows us to have more than one function with the same name
in a program.It allows us to have overloading of operators so that an operation
can exhibit different behaviours in different instances.
30) What is
abstraction?
Abstraction means hiding internal
implementation details.
31) What is function
overloading?
Function Overloading more than one
method with the same name but different type of parameters and/or number of
parameters can be defined. Depending on the actual number and/or static type of
the parameters used, the compiler will resolve the call to the correct method.
32) What are the
types of polymorphism?
- Polymorphism can be broadly classified as
- Compile time polymorphism
- Run time polymorphism
33) What is the
difference between compile time and run time polymorphism?
Function overloading, operator
overloading,and parametric types (templates in C++ or generics in Java) are
done at compile time.
Dynamic binding (virtual functions) is runtime polymorphism.
Dynamic binding (virtual functions) is runtime polymorphism.
34) What is the
difference between an identifier and a keyword?
- Identifier :
- These are the fundamental building blocks of a program and are used to give names to variables, functions, arrays, objects, classes etc.
- Keyword :
- These words are reserved to do specific tasks and must not be used as normal identifier names.
35) What is meant by
type conversion?
The process in which one pre defined
type of expressions is converted into another type is called conversion.
36) What is
difference between C++ and Java?
- C++ has pointers Java does not
- Java is the platform independent as it works on any type of operating systems
- Java has no pointers where c ++ has pointers
- Java has garbage collection C++ does not.
37) What is the
difference between division and modulus?
Division(/) operator is used to divide the value and return the
quotient value whereas Modulus(%) return the remainder value.
38) What is object
composition?
In composition, one class has an
instance of another class as a data member. In OOP, this relationship is also
known as a object composition.
39) What are
frameworks?
Frameworks provide domain specific
inheritance hierarchies that are meant for rapid application development in
that domain.
40) Define Message
Passing?
Objects communicate between each
other by sending and receiving information known as messages. A message to an
object is a request for execution of a procedure. Message passing involves
specifying the name of the object, the name of the function and the information
to be sent.
41) What are
concrete classes?
Concrete classes can be instantiated
(in other words, objects can be created from concrete classes). These classes
have no abstract methods. Concrete classes are a logical complement of abstract
classes.
42) What is the use
of scope resolution operator?
A variable declared in an inner
block cannot be accessed outside the block. To resolve this problem the scope
resolution operator is used. It can be used to uncover a hidden variable. This
operator allows access to the global version of the variable.
43) What are adaptor
class?
Adaptor classes modify the existing
interface of an existing class and provide a new interface. In other words, an
adapter class adapts a class for a specific purpose.
44) What are
monomorphic and polymorphic classes?
Classes that do not have any virtual
functions (runtime polymorphism) are known as monomorphic classes.
The classes that have virtual functions (or virtual base classes) and are designed for making use of runtime polymorphism are known as polymorphic classes.
The classes that have virtual functions (or virtual base classes) and are designed for making use of runtime polymorphism are known as polymorphic classes.
45) What is
namespace?
The C++ language provides a single
global namespace.Namespaces allow to group entities like classes, objects and
functions under a name.
46) What is the use
of default constructor?
A constructors that accepts no
parameters is called the default constructor.If no user-defined constructor
exists for a class A and one is needed, the compiler implicitly declares a
default parameterless constructor A::A(). This constructor is an inline public
member of its class. The compiler will implicitly define A::A() when the
compiler uses this constructor to create an object of type A. The constructor
will have no constructor initializer and a null body.
47) What is the
difference between c &c++?
- c++ ia an object oriented programing but c is a procedure oriented programing.
- c is super set of c++.
- c can’t suport inheritance,function overloading, method overloading etc. but c++ can do this.
- In c program the main function could not return a value but in the c++ the main function shuld return a value.
48) What are class
libraries?
A class library is a set of reusable
classes meant for providing a specific functionality (such as utility,
networking, or user-interface related classes) that can be readily used by the
application.
49) What is a
dangling pointer?
A dangling pointer arises when we
use the address of an object after its lifetime is over. This may occur in
situations like returning addresses of the automatic variables from a
function or using the address of the dynamically allocated memory block after
it is freed.
|
50) What is the
difference between shallow and deep copy?
Shallow copy involves bit wise copy of the contents of one
object into another object of the same type. A copy constructor and assignment
operator provided by the compiler by default does shallow copy. Shallow copies
create a problem when there are fields of pointer or reference type. In this
case, the addresses are directly copied to another object and thus two
different objects have fields pointing to the same objects. When one object is
destroyed, the pointers/references in the other object become dangling
pointers/references, which is dangerous.
Deep copy involves using the contents of one object to create an other instance of the same class. In a deep copy, the two objects may contain the same information but the target object will have its own buffers and resources. The destruction of one object will not affect the other object. Typically, we provide our own copy constructor and assignment operator implementations for doing deep copy of objects.
Deep copy involves using the contents of one object to create an other instance of the same class. In a deep copy, the two objects may contain the same information but the target object will have its own buffers and resources. The destruction of one object will not affect the other object. Typically, we provide our own copy constructor and assignment operator implementations for doing deep copy of objects.
51) What
is a pointer?
- A pointer is a variable which holds a memory address within.
- Each variable is located at a particular position in the memory which is known as Address.
- The address can be stored in a pointer.
- A program accesses the value in the address stored in the pointer by using indirection operator.
52) What
is an expression?
An
expression is any statement which is composed of one or more operands and
returns a value. It may be combination of operators, variables and constants.
53) What
are the types of expressions?
- There are three types of expressions are :
- Constant Expressions
- Integral Expressions
- Logical Expressions
54) What
are the types of conversion?
- There are two types of conversion are :
- Implicit (Automatic) Conversion
- Explicit Conversion
55) What
is the difference between implicit and explicit conversion?
When data
types are mixed in an expression, the conversion is performed automatically.
This process of automatic conversion is called implicit conversion.
Explicit Expressions are user defined expressions. C++ provides type casting facility. The expression can be converted into a specific type.
Explicit Expressions are user defined expressions. C++ provides type casting facility. The expression can be converted into a specific type.
56) What
are the advantages of pointer?
- The pointer has the following advantages.
- It allows to pass variables, arrays, functions, strings and structures as function arguments.
- A pointer allows to return structured variables from functions.
- It provides functions which can modify their calling arguments.
- It supports dynamic allocation and deallocation of memory segments.
- With the help of a pointer, variables can be swapped without physically moving them.
- It allows to establish links between data elements or objects for some complex data structures such as linked lists, stacks, queues, binary trees and graphs.
- A pointer improves the efficiency of certain routines.
57) What
is pointer operator?
A pointer
operator can be represented by a combination of * (asterisk) with a variable.
58) What
is meant by conditional expression?
- The conditional expressions are mainly used for decision making. In the subsequent sections, the various structures of the control statements and their expressions are explained. The following statements are used to perform the task of the conditional operations.
- if statement
- if else statement
- switch case statement
59) What
are the types of comments?
- C++ allows us to add two types of comments are :
- Single line comments
- Multi line comments
60) What
is the difference between single line and multiple line comments?
A single
line comment starts with the character sequence ("//"), i.e.
the two forward slashes and ends with a newline character.
A multi line comment starts with the character sequence ("/*"), i.e. a forward slash followed by an asterisk and ends with the character sequence ("*/"), i.e. an asterisk followed by a forward slash.
A multi line comment starts with the character sequence ("/*"), i.e. a forward slash followed by an asterisk and ends with the character sequence ("*/"), i.e. an asterisk followed by a forward slash.
61) What
is meant by two dimensional array?
A two
dimensional array may be visualized as a table consisting of rows and columns.
Each cell of the table will denote an array element.
62) What
is meant by multi dimensional array?
Multidimensional
arrays are arrays with more than one dimension. An array may consist of any
number of dimensions, of course, subject to the restrictions put by a compiler
implementation within the scope of language specifications.
63) What
are the types of built in data types?
- The built in data types available in C++ are :
- Integral type
- Floating type
- Void
64) Define
literals?
Literals are
often referred to as constants. A constant is an entity with a fixed value.
Literals can be divided into characters, string, integer numbers and floating
point numbers.
65) What
are the types of literals in c++?
- C++ there are several types of literals :
- Integer constants
- Character constants
- Floating Point constants
- String constants
66) What
is the use of sizeof() operator?
The sizeof
() operator is used to find the size of a variable or the sizeof a data type in
terms of the number of bytes.
67) What
is copy constructor?
What is copy
constructor?
68) What
is default constructor?
A default
constructor is a constructor that either has no parameters, or if it has
parameters, all the parameters have default values.
69) What
is static variable?
Static
variables are defined within a function and they have the same scope rules of
the automatic variables but in the case of static variables, the contents of
the variables will be retained throughout the program.
70) What
is register variable?
Automatic variables are stored in
the memory. As accessing a memory location takes time (much more time than
accessing one of the machine's registers), one can make the computer to keep
only a limited number of variables in their registers for fast processing.
Whenever some variables are to be read or repeatedly used, they can be
assigned as register variables.
|
71) What
is the use of keyword register?
The keyword
register is used to declare that the storage class of the variable is a
register type.
72) What
is the difference between break and continue statement?
The break
statement is used to terminate the control from the loop statements of
the case-switch structure. The break statement is normally used in the switch
case loop and in each case condition, the break statement must be used. If not,
the control will be transferred to the subsequent case condition also.
The continue statement is used to repeat the same operations once again even checks the error.
The continue statement is used to repeat the same operations once again even checks the error.
73) What
are the types of errors in c++?
- There are four types of errors are :
- Compiler errors
- Linker errors
- Runtime errors
- Logical errors
74) What
is string?
String is a
series of characters. The string is enclosed within double quotes. A string is
used to write or store messages.
″HELLO″
″HELLO″
75) What
is the difference between errors and debugging?
Errors may be made during program
creation even by experienced programmers also. Such type of errors are detected
by the Compiler.
Debugging means removing the errors.
Debugging means removing the errors.
76) What
is a scope resolution operator?
The scope
resolution operator permits a program to reference an identifier in the global
scope that has been hidden by another identifier with the same name in the
local scope.
77) What
is multiple inheritance?
A class can
inherit properties from more than one class which is known as multiple
inheritance.
78) What
is cast operator(())?
The cast
operator helps to force an expression to be of a specific type by using (} cast
operator.
79) What
is conditional operator( ?:)?
The
conditional operator evaluates an expression returning a value if that
expression is true and a different one if the expression is evaluated as false.
80) What
is comma operator(,)?
The comma
operator (,) is used to separate two or more expressions that are included
where only one expression is expected.
81) What
is recursive function?
A function
which calls itself directly or indirectly again and again is known as the
recursive function. Recursive functions are very useful while constructing the
data structures like linked lists, double linked lists and trees. There is a
distinct difference between normal and recursive functions.
82) What
is the difference between goto and unconditional goto?
The goto
statement is used to alter the program execution sequence by transferring the
control to some other part of the program.
The unconditional goto statement is used just to transfer the control from one part of the program to the other part without checking any condition. Normally, a good programmer will not prefer to use the unconditional goto statement in his program as it may lead to a very complicated problem like a never ending process.
The unconditional goto statement is used just to transfer the control from one part of the program to the other part without checking any condition. Normally, a good programmer will not prefer to use the unconditional goto statement in his program as it may lead to a very complicated problem like a never ending process.
83) What
is the difference between class and structure?
- By default, the members ot structures are public while that tor class is private.
- Structures doesn't provide something like data hiding which is provided by the classes.
- Structures contains only data while class bind both data and member functions.
84) What
are design patterns?
Design
patterns are reusable, extensible solutions to common design problems faced by
designers of object-oriented systems. Design patterns are language neutral and
are of a higher level of abstraction than code.
85) What
is the difference between the terms overloading and overriding?
The term
overriding refers to providing an alternative function definition of a virtual
function in a derived class. Overriding is useful for runtime polymorphism.
With overloading, more than one method definition with the same name (but with
different types/number of arguments) are provided, whereas in overriding, the
methods with the same name are provided with alternative definition in derived
class.
86) What
is friend function?
The function
declaration should be preceded by the keyword friend.The function definitions
does not use either the keyword or the scope operator ::. The functions that
are declared with the keyword friend as friend function.Thus, a friend function
is an ordinary function or a member of another class.
87) What
is a call by reference?
A function
call mechanism that passes arguments to a function by passing the addresses of
the arguments.
88) What
is the call by value?
A function
call mechanism that passes arguments to a function by passing a copy of the
value of the arguments.
89) What
is inheritance?
The
mechanism of deriving a new class from an old one is called inheritance. The
old class is referred to as the base class and the new one is called the
derived class or the sub class.
90) What
are the types of inheritance?
- Single inheritance
- Multiple inheritance
- Multi level inheritance
- Hierarchical inheritance
- Hybrid inheritance
91) What
is method overriding?
Method
overriding is a mechanism in which the sub class method overrides the base
class method. If the same function name is present in both the base class and
the sub class then the sub class method overrides the base class method.
92) What
is inline function?
Inline
function is defined as a function definition such that each call to the
function is in effect, replaced by the statements that define the function. It
is expanded in line when it is invoked.
93) What
are concrete classes?
Concrete classes
can be instantiated (in other words, objects can be created from concrete
classes). These classes have no abstract methods. Concrete classes are a
logical complement of abstract classes.
94) What
is class cohesion?
Cohesion
indicates how closely the members are related to each other or how strongly the
members depend on each other in a class. Highly cohesive classes or modules
indicate good design.
95) What
is class coupling?
Coupling
means how two (or more classes) are dependent or strongly related to each
other. When two classes are tightly coupled, change in one class usually
requires change in the other class. Therefore, tightly coupled classes are not
recommended.
96) What
is the difference between local and global variable?
Local
variables Identifiers declared as label, const, type, variables and functions
in a block are said to belong to a particular block or function and these
identifiers arc known as the local parameters or variables. Local variables are
defined inside a function block or a compound statement.
Global variables are variables defined outside the main function block. These variables are referred by the same data type and by the same name through out the program in both the calling portion of a program and in the function block. Whenever some of the variables are treated as constants in both the main and the function block, it is advisable to use global variables.
Global variables are variables defined outside the main function block. These variables are referred by the same data type and by the same name through out the program in both the calling portion of a program and in the function block. Whenever some of the variables are treated as constants in both the main and the function block, it is advisable to use global variables.
97) What
are the types of type modifiers?
- There are four types of type modifiers are :
- Signed
- Long
- Unsigned
- Short
98) 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. Any class containing any pure virtual function cannot be
used to create object of its own type.
99) What
is the types of storage class specifiers?
- There are four storage class specifiers supported by C++. They are :
- extern
- static
- register
- auto
100) What
is STL? what are the components of stl?
- A collection of generic classes and functions is called as Standard Template Library (STL).The stl components are
- Containers
- Algorithm
- Iterators
No comments:
Post a Comment