Programing IN C++
What are the access privileges in C++ ? What is the
default access level ?
The access privileges in C++ are private, public and
protected. The default access level assigned to members of a class is private.
Private members of a class are accessible only within the class and by friends
of the class. Protected members are accessible by the class itself and it’s
sub-classes. Public members of a class can be accessed by anyone.
What is data encapsulation ?
Data Encapsulation is also known as data hiding. The most
important advantage of encapsulation is that it lets the programmer create an
object and then provide an interface to the object that other objects can use
to call the methods provided by the object. The programmer can change the
internal workings of an object but this transparent to other interfacing
programs as long as the interface remains unchanged.
What is inheritance ?
Inheritance is the process of deriving classes from other
classes. In such a case, the sub-class has an ‘is-a’ relationship with the
super class. For e.g. vehicle can be a super-class and car can be a sub-class
derived from vehicle. In this case a car is a vehicle. The super class ‘is not
a’ sub-class as the sub- class is more specialized and may contain additional
members as compared to the super class. The greatest advantage of inheritance
is that it promotes generic design and code reuse.
What is multiple inheritance ? What are it’s
advantages and disadvantages ?
Multiple Inheritance is the process whereby a sub-class can
be derived from more than one super class. The advantage of multiple
inheritance is that it allows a class to inherit the functionality of more than
one base class thus allowing for modeling of complex relationships. The
disadvantage of multiple inheritance is that it can lead to a lot of confusion
when two base classes implement a method with the same name.
How is memory allocated/deallocated in C ? How about
C++ ?
Memory is allocated in C using malloc() and freed using
free(). In C++ the new() operator is used to allocate memory to an object and
the delete() operator is used to free the memory taken up by an object.