PART - A
1. What is the output of the following program, if it
is correct? Otherwise indicate the mistake:
int l=10;
Void main
[] {
int l=20;
{
int l=30;
cout<<l<<::l;
}}
The
program is in correct due to syntax error. Within the main function, there is
no need of another opening braces in the int l=20; and also closing braces.
2. Difference between Class and structure?
·
Class is the ADT where as structure is udt.
·
Class needs access specifier such as private,
public & private where as structure
·
members can be accessed by public by default &
don’t need any accessfiers.
·
Class is oops where structure is borrowed from
traditional structured [pop] concept.
3. What is abstract Class?
Ø An abstract class is a class that is designed to be specifically used as
a base class.
Ø An
abstract class contains at least one pure virtual function. You declare a pure
virtual function by using a pure specifier [= 0] in the declaration of a
virtual member function in the class declaration
4. List out the advantages of new operator over
malloc[]
·
It automatically computes the size of the data
object.
·
It automatically returns the correct pointer type
·
It is possible to initialize the objects while
creating_ the memory space.
·
It can be overloaded.
5. What are the basic concepts of OOS?
1. Objects.
2. Classes.
3. Data
abstraction and Encapsulation.
4. Inheritance.
5. Polymorphism.
6. Dynamic
binding.
7. Message
passing
6. What is the difference between local variable and
data member?
·
A data member belongs to an object of a class
whereas local variable belongs to its current scope.
·
A local variable is declared within the body of a
function and can be used only from the point at which it is declared to the
immediately following closing brace.
·
A data member is declared in a class definition,
but not in the body of any of the class member functions.
·
Data members are accessible to all member function
of the class.
7. What is the function parameter? Difference between
parameter and Argument.
·
A function
parameter is a variable declared in the prototype or declaration of a
function: o
void
foo[int x]; // prototype -- x is a parameter
o void
foo[int x] // declaration -- x is a parameter
o {
o }
·
An argument
is the value that is passed to the function in place of a parameter
8. What is
data hiding?
·
The insulation of data from direct access by the
program is called as data hiding or information binding.
·
The data is not accessible to the outside world and
only those functions, which are wrapped in the class, can access it.
9. What are the advantages of Default Arguments?
The
function assigns a default value to the parameter which does not have a
matching argument in the function call. They are useful in situations where
some arguments always have the same value.
e.g.,
float amt [float P, float n, float r = 0.15];
10.
List out
the basic concepts of Object Oriented Programming.
·
Objects
·
Classes
·
Data Abstraction and Encapsulation
·
Inheritance
·
Polymorphism
·
Dynamic Binding
·
Message Passing
11.
What are
abstract classes?
o Classes containing at least one
pure virtual function become abstract classes.
o
Classes
inheriting abstract classes must redefine the pure virtual functions; otherwise
the derived
classes also will become abstract. Abstract classes cannot be instantiated.
12.
Define
abstraction and Encapsulation
Data Abstraction
Abstraction
refers to the act of representing the essential features without including the
background details or explanations.
Data Encapsulation
The
wrapping up of data and functions into a single unit is known as data
encapsulation.
13.
What is
the Need for Static Members
·
Class members can be declared using the storage
class specifier static in the class member list. Only one copy of the static
member is shared by all objects of a class in a program.
·
When you declare an object of a class having a
static member, the static member is not part of the class object.
14. Define Polymorphism.
·
Polymorphism is another important oops concept.
·
Polymorphism means the ability to take more than
one form.
·
For example, an operation may exhibit different behavior in different instances,
behavior depends upon the types of data used in the operation.
15.
What do
you mean by pure virtual functions?
1. A pure
virtual member function is a member function that the base class forces derived
classes to provide.
2. Any class
containing any pure virtual function cannot be used to create object of its own
type.
16.
Write a
C++ program to check the given integer is prime or composite number.
#include<conio.h>
#include<stdio.h>
int
main[]
{
int
num,d,ctr; clrscr[];
printf["\n
Enter a number="];
scanf["%d",&num];
d=1;
ctr=0;
while[d<=num]
{
if[num%d==0]
ctr++;
d=d+1;
}
if[ctr==2]
printf["\n
%d is a prime number",num]; else
printf["\n
%d is a composite number",num];
getch[];
return[0];
}
17. What is function Prototype?
A
function prototype or function interface in C, Perl, PHP or C++ is a
declaration of a function that omits the function body but does specify the
function's return type, name and argument types.
While a
function definition specifies what a function does, a function prototype can be
thought of as specifying its interface.
18. List out four Storage Classes in C++
Storage
classes are used to specify the lifetime and scope of variables. How storage is
allocated for variables and how variable is treated by complier depends on
these storage classes. These are basically divided into 5 different types :
1. Global
variablES
2. Local
variables
3. Register
variables
4. Static
variables
5. Extern
variables
19.
What is
an identifier?
·
Identifiers are names for various programming
elements in c++ program. such as variables, arrays, function, structures,
union, labels ect.,
·
An identifier can be Composed only of uppercase,
lower case letter, underscore and digits, but should start only with an
alphabet or an underscore.
20.
What is a
keyword?
Keywords
are word whose meanings have been already defined in the c compiler. They are
also called as reserved words.
(ex)
main(), if, else, else, if, scanf, printf, switch, for, goto, while ect.,
21.
List out
the benefits of oops.
• Can
create new programs faster because we can reuse code
• Easier to
create new data types
• Easier
memory management
• Programs
should be less bug-prone, as it uses a stricter syntax and type checking.
• `Data
hiding', the usage of data by one program part while other program parts cannot
access
the data Will whiten your teeth
22.
List out
the application of oops.
• Client
server computing
• Simulation
such as flight simulations.
• Object-oriented
database applications.
• Artificial
intelligence and expert system
• Computer
aided design and manufacturing systems.
23. Define data hiding.
The
purpose of the exception handling mechanism is to provide a means to detect and
report an “exceptional circumstance” so that appropriate action can be taken.
24. What is the use of scope resolution operator?
In C, the
global version of the variable cannot be accessed from within the inner block.
C++ resolves this problem by introducing a new operator :: called the scope
resolution operator. It is used to uncover a hidden variable.
Syntax:
:: variable
name
25.
When will
you make a function inline?
When the
function definition is small, we can make that function an inline function and
we can mainly go for inline function to eliminate the cost of calls to small
functions.
26. What is overloading?
Overloading
refers to the use of the same thing for different purposes.
There are
2 types of overloading:
• Function
overloading
• Operator
overloading
27.
What is
the difference between normal function and a recursive function?
·
A recursive function is a function, which call it
whereas a normal function does not.
·
Recursive function can’t be directly invoked by
main function
28.
What are
objects? How are they created?
Objects
are basic run-time entities in an object-oriented programming system. The class
variables are known as objects. Objects are created by using the syntax: classname obj1,obj2,…,objn;
(or)
during definition of the class:
class
classname
{
-------
}obj1,obj2,…,objn;
29.
List some
of the special properties of constructor function.
• They
should be declared in the public section.
• They are
invoked automatically when the objects are created.
• They do
not have return types, not even void and cannot return values.
• Constructors
cannot be virtual.
Like
other C++ functions, they can have default arguments
30. Describe the importance of destructor.
A
destructor destroys the objects that have been created by a constructor upon
exit from the program or block to release memory space for future use. It is a
member function whose name is the same as the class name but is preceded by a
tilde.
Syntax:
~classname()
{ }
31.
What do
you mean by friend functions?
C++
allows some common functions to be made friendly with any number of classes,
thereby allowing the function to have access to the private data of thse
classes. Such a function need not be a member of any of these classes. Such
common functions are called friend functions.
32. What are member functions?
Functions
that are declared within the class definition are referred as member function.
33. Define dynamic binding.
Dynamic
binding means that the code associated with a given procedure call is not known
until the time of the call at run-time.
34.
Write any
four properties of constructor.
·
Constructors should be declared in the public
section.
·
They are invoked automatically when the objects are
created.
·
They do not have return types
·
They cannot be inherited
35.
List any
four Operators that cannot be overloaded.
Class
member access operator (. , .*)
Scope
resolution operator (::)
Size
operator ( sizeof )
Conditional
operator (?:)
36. What is a Destructor?
A
destructor is used to destroy the objects that have been created by a
constructor. It is a special member function whose name is same as the class
and is preceded by a tilde ‘~’ symbol.
When an
object goes out from object creation, automatically destructor will be
executed.
Example:
class
File { public:
~File();
//destructor declaration };
File::~File()
{
close(); // destructor definition
}
37. What is the Need for initialization of object
using Constructor?
If we
fails to create a constructor for a class, then the compiler will create a
constructor by default in the name of class name without having any arguments
at the time of compilation and provides the initial values to its data members.
So we have to initialize the objects using constructor
38. What is a Copy Constructor
A copy
constructor is used to declare and initialize an object from another object. It
takes a reference to an object of the same class as an argument
Eg:
integer
i2(i1);
would
define the object i2 at the same time initialize it to the values of i1.
Another form of this statement is
Eg:
integer i2=i1;
The process
of initializing through a copy constructor is known as copy initialization.
39. Give an example for a Copy Constructor
#include<iostream>
#include<conio.h>
using
namespace std;
class
Example {
//
Variable Declaration int a,b;
public:
//Constructor
with Argument
Example(int
x,int y) {
// Assign
Values In Constructor
a=x;
b=y;
cout<<"\nIm
Constructor";
}
void
Display() {
cout<<"\nValues
:"<<a<<"\t"<<b;
}
};
int
main() {
Example
Object(10,20); //Copy Constructor
Example
Object2=Object
//Constructor
invoked.
Object.Display();
Object2.Display();
//Wait For Output Screen
getch();
return 0;
}
40.
What is
the Need for Destructors?
·
Destructor is used to destroy an object.
·
By destroying the object memory occupied by the
object is released.
41.
Explain
the functions of Default Constructor
The main
function of the constructor is, if the programmer fails to create a constructor
for a class, then the compiler will create a constructor by default in the name
of class name without having any arguments at the time of compilation and
provides the initial values to its data members.
Since it
is created by the compiler by default, the no argument constructor is called as
default constructor.
42.
What is
the need for Overloading an operator
·
To define a new relation task to an operator, we
must specify what it means in relation to the class to which the operator is
applied.
·
This is done with the help of a special function
called operator function.
·
It allows the developer to program using notation
closer to the target domain and allow user types to look like types built into
the language.
·
The ability to tell the compiler how to perform a
certain operation when its corresponding operator is used on one or more
variables.
43.
What is
the function of get and put function
Cin.get(ch)
reads a character from cin and stores what is read in ch.
Cout.put(ch)
reads a character and writes to cout
PART – B
1. State
the merits and demerits of object oriented methodology.
Merits:
• Can
create new programs faster because we can reuse code
• Easier to
create new data types
• Easier
memory management
• Programs
should be less bug-prone, as it uses a stricter syntax and type checking.
• `Data
hiding', the usage of data by one program part while other program parts cannot
access
the data Will whiten your teeth
Demerits:
• disadvantages
of C++ over Java:
• Java
protects you from making mistakes that C/C++ don’t, as you’ve
• C++ has
many concepts and possibilities so it has a steep learning curve
• extensive
use of operator overloading, function overloading and virtual
• functions
can very quickly make C++ programs very complicated
• shortcuts
offered in C++ can often make it completely unreadable, just like in C
2. Explain the basic concepts of object oriented
programming in detail with example.
BASIC CONCEPTS OF OBJECT ORIENTED PROGRAMMING
These
include:
·
Objects
·
Classes
·
Data abstraction and encapsulation
·
Inheritance
·
Polymorphism
·
Dynamic binding
·
Message passing
Objects:
Objects
are the basic run-time entities in an object oriented programming. They may
representa person, a place, a bank account or any item that the program has to
handle. They may represent user-defined data such as vectors, time and lists.
Programming problem is analyzed in terms of objects and the nature of
communication b/n them.
When a
program is executed, the objects interact by sending messages to another. Each
object contains data and code to manipulate the data. Objects can interact
without having to know the etails of each others data or code. It is sufficient
to know the type of message accepted, and the type of message accepted and the
type of response returned by the objects.
Classes:
The
entire set of data and code of an object can made a user defined data type with
the help of a class. In fact the objects are variable of the type class. Once
class has been defined we can create any number of objects belonging to that
class. In short, a class serves as a blueprint or
a plan or
a template. It specifies what data and what functions will be included in
objects of that class. Defining the class doesn’t create any objects, just as
the mere existence of a type int doesn’t create any variables.
Data Abstraction and Encapsulation:
The
wrapping up of data and functions into a single unit is known as encapsulation.
It is the most striking feature of the class. The data is not accessible to the
outside world and only
those
functions which are wrapped in the class can access it. These functions provide
interface b/n the object’s data and the program. This insulation of the data
from direct access by the
program
is called data hiding or information
hiding.
Abstraction
represents the act of representing the essential features without including the
background details or explanations. Classes use the concept of abstraction and
are defined as a list of abstract attributes such as size, weight and cost and
functions to operate on these attributes. The attributes are called data
members and functions are called member functions or methods. Since the classes
use the concept of data abstraction, they are known as Abstract Data Types
(ADT).
Inheritance:
It is the
process by which objects of one class acquire the properties of objects of
another class. It supports the concept of hierarchical classification. For example,
the bird ‘robin’ is a part of the class ‘flying bird’ which is again a part of
the class ‘bird’. This concept provides the idea
of
reusability. This means that we can add additional features to an existing
class without modifying it. This is possible by a deriving a new class from an
existing one. The new class will have the combined features of both the
classes.
Polymorphism:
It means
the ability to take more than one form. An operation may exhibit different
behavior in different instances. The behavior depends upon the types of data
used in the operation. For example the operation addition will generate sum if
the operands are numbers whereas if the operands are strings then the operation
would produce a third string by concatenation. The process of making an
operator to exhibit different behaviors in different instances is known as
operator overloading.
A single
function name can be used to handle different types of tasks based on the
number and types of arguments. This is known as function overloading. It allows
objects to have different internal structures to share the same external
interface.
Dynamic Binding:
Binding
refers to the linking of a procedure call to the code to be executed in
response to the call. Dynamic Binding (late binding) means the code associated
with the given procedure call is not known until the time of the call at
run-time. It is associated with the polymorphism and inheritance.
Message Passing:
The
process of programming in OOP involves the following basic steps:
·
Creating classes that define objects and their
behavior
·
Creating objects from class definitions
·
Establishing communication among objects
A message
for an object is request for execution of a procedure and therefore will invoke
a function (procedure) in the receiving object that generates the desired
result.
Message
passing involves specifying the name of the object, the name of the function
(message) and the information to be sent.
E.g.:
employee.salary(name); Object: employee
Message:
salary Information: name
3. State the rules to be followed while overloading
an operator.write a program to illustrate overloading.
OPERATOR OVERLOADING:
• Operator
overloading means giving additional meaning to existing operators
• By
operator overloading an existing operator can be made to perform different
operations
than the
stipulated one.
• It
doesn’t change the meaning and precedence of the original operator.
• Almost
all the operators in c++ can be overloaded except the following
1) Sizeof ()
2) Conditional
operator (?:)
3) Scope
resolution operator (::)
4) Class
member access operator (.,.*)
example
the operation addition will generate sum if the operands are numbers whereas if
the operands are strings then the operation would produce a third string by
concatenation. The process of making an operator to exhibit different behaviors
in different instances is known as operator overloading.
A single
function name can be used to handle different types of tasks based on the
number and types of arguments. This is known as function overloading.
It allows
objects to have different internal structures to share the same external
interface.
Dynamic Binding:
Binding
refers to the linking of a procedure call to the code to be executed in
response to the call. Dynamic Binding (late binding) means the code associated
with the given procedure call is not known until the time of the call at
run-time. It is associated with the polymorphism and inheritance.
Message Passing:
The
process of programming in OOP involves the following basic steps:
·
Creating classes that define objects and their
behavior
·
Creating objects from class definitions
·
Establishing communication among objects
A message
for an object is request for execution of a procedure and therefore will invoke
a function (procedure) in the receiving object that generates the desired
result. Message passing involves specifying the name of the object, the name of
the function (message) and the information to be sent.
E.g.:
employee.salary(name); Object: employee
Message:
salary Information: name
3. State the rules to be followed while overloading
an operator.write a program to illustrate overloading.
OPERATOR OVERLOADING:
• Operator
overloading means giving additional meaning to existing operators
• By
operator overloading an existing operator can be made to perform different
operations than
the
stipulated one.
• It
doesn’t change the meaning and precedence of the original operator.
• Almost
all the operators in c++ can be overloaded except the following
o Sizeof
()
o
Conditional operator (?:)
o Scope
resolution operator (::)
o Class
member access operator (.,.*)
SYNTAX:
Return-type
operator op-symbol(argument list)
{
body of
the function;
}
Generally
there are three general classifications of operator namely Operator
Unary binary
ternary
Among the
above unary and binary operators can be overloaded and ternary operator cannot
be
overloaded.
OVERLOADING UNARY OPERATOR:
Unary
operators like unary + , Unary - ….. can be overloaded as follows
EXAMPLE:
#include
#include
class unary
{
int a;
public: void get()
{
a=10;
}
void
show()
{
cout
<<"\n The value of the object is\n"<
}
void
operator - ()
{
a=-a;
}
};
void
main()
{
clrscr();
unary u;
u.get();
u.show();
-u;
//unary operator - called
u.show();
getch();
}
O/P:
The value
of the object is 10
The value
of the object is -10
• In the
above program, the unary operator minus is overloaded.
• In this
an object ‘u’ is created and given the value 10
• When the
unary operator – is called the operator function is invoked and the value of
the member data of the object ‘u’ is negated.
• The
negated value is then displayed.
4. (i) Describe the application of oop technology
Applications of OOP:
·
Real time systems
·
Simulation and modeling
·
AI and expert systems
·
Neural networks and parallel programming.
·
Decision support and office automation systems
(ii) What is an inline function?
INLINE FUNCTIONS :
An inline
function is a function that is expanded in line when it is invoked. That is ,
the complier replaces the function call with the corresponding function
code.The inline function are defined as follows:
inline
function header
{
function
body
}
Example :
inline
int cube(int a)
{
return
(a*a*a);
}
Program :
#include
inline
float mul(float x, float y)
{
return
(x*y);
}
inline
float div(double p, double q)
{
return( p
/ q )
}
int
main()
{
float
a=12.35;
float
b=9.32;
cout<<
mul(a,b);
cout<
return 0;
}
5. (i). Explain copy constructor with suitable c++
coding.
Constructor:
A
constructor is a special member function whose task is to initialize the
objects of its class. It is
special
because its name is the same as the class name. The constructor is invoked
whenever an object of its associated class it’s created.
A
constructor is declared and defined as follows:
class
sample
{
int m,n;
public:
sample()
{
m = n =
0;
}
// some code
};
void
main()
{
sample s;
// object is created
// some code
}
During
the object creation, it also initializes the data member’s m and n to 0.
Default Constructor:
A
constructor that accepts no parameters is called the default constructor.
Characteristics of a constructor:
·
They should be declared in the public section
·
They are invoked automatically when the objects are
created
·
They do not have return types
·
They cannot be inherited
·
They can have default arguments
·
It cannot be virtual
·
We cannot refer to their addresses
·
An object with a constructor or destructor can not
be used as a member of a union
·
They make ‘implicit calls’ to the operators new and
delete when memory allocation is required
Copy constructor:
A copy
constructor takes a reference to an object of the same class as itself as an
argument.
Example:
It sets
the value of every data element of s3 to the value of the corresponding data
element of s2
Constructors with default arguments:
It is
possible to define constructors with default arguments. Example:
Inside
the class definition: sample(int a, int b = 10) Inside the main():
sample
s2(20);
assigns
20 to x and 10 to y. where as
sample
s5(25,35) ; assigns 25 to x and 35 to y
(ii).List out the rules for overloading operator.
OPERATOR OVERLOADING:
• Operator
overloading means giving additional meaning to existing operators
• By
operator overloading an existing operator can be made to perform different
operations
than the
stipulated one.
• It
doesn’t change the meaning and precedence of the original operator.
• Almost
all the operators in c++ can be overloaded except the following
o Sizeof
()
o
Conditional operator (?:)
o Scope
resolution operator (::)
o Class
member access operator (.,.*)
SYNTAX:
Return-type
operator op-symbol(argument list)
{
body of
the function;
}
Generally
there are three general classifications of operator namely Operator
Unary
binary ternary
Among the
above unary and binary operators can be overloaded and ternary operator cannot
be overloaded.
6. Compare and contrast the following control
structure with example:
(i). break statement & continue statement.
Break
continue
a) Used to
terminate the loops or to Used to transfer the control to the Exit loop from a
switch. Start of loop
b) The break
statement when executed The continue statement when causes Immediate
termination of loop executed caused immediate containing it. termination of the
current iteration of the loop.
(ii). Do – while and the while statement.
While
loop do-while loop
c) The while
loop tests the condition The do-while loop tests the condition before each
iteration after the first iteration
d) If the
condition fails initially the loop Even if the condition fails initially Is
skipped entirely even in the first the loop is executed once in a Iteration.
Related Topics
Privacy Policy, Terms and Conditions, DMCA Policy and Compliant
Copyright © 2018-2023 BrainKart.com; All Rights Reserved. Developed by Therithal info, Chennai.