Golgappa.net | Golgappa.org | BagIndia.net | BodyIndia.Com | CabIndia.net | CarsBikes.net | CarsBikes.org | CashIndia.net | ConsumerIndia.net | CookingIndia.net | DataIndia.net | DealIndia.net | EmailIndia.net | FirstTablet.com | FirstTourist.com | ForsaleIndia.net | IndiaBody.Com | IndiaCab.net | IndiaCash.net | IndiaModel.net | KidForum.net | OfficeIndia.net | PaysIndia.com | RestaurantIndia.net | RestaurantsIndia.net | SaleForum.net | SellForum.net | SoldIndia.com | StarIndia.net | TomatoCab.com | TomatoCabs.com | TownIndia.com
Interested to Buy Any Domain ? << Click Here >> for more details...


what is virtual destructor

Answers were Sorted based on User's Feedback



what is virtual destructor..

Answer / isha

Dear friend , you have done a mistake..
Example:

class Employee {
virtual ~Employee() {}
};

class Manager : public Employee {
~Manager() {}
}

Employee * m = new Manager();//here was the mistake
delete m; // <--

Is This Answer Correct ?    9 Yes 0 No

what is virtual destructor..

Answer / kamil mohamed

virtual destructor is recommended when you want to destroy
(delete) an object through it's parent pointer. This good
habit enforces proper cleanup of derived classes

Example:

class Employee {
virtual ~Employee() {}
};

class Manager : public Employee {
~Manager() {}
}

Manager * m = new Employee();
delete m; // <--

Is This Answer Correct ?    6 Yes 1 No

what is virtual destructor..

Answer / rock

When a derived class object pointed to by a base class
pointer dynamically is deleted only the base class
destructor is invoked inorder to even invoke derived class
destructor we use virtual destructor.

class shape
{
virtual ~shape(){}
};
class circle:public shape
{
~circle(){}
};
void main()
{
shape *sh = new circle;
delete sh; //both the destructors are invoked
}

If virtual keyword is not added to the base class
destructor only the base class destructor is called.

Is This Answer Correct ?    3 Yes 0 No

what is virtual destructor..

Answer / pankajkolte

Virtual Destructor is used basically to ensure proper the
sequence of call to destructor.

class Employee {
virtual ~Employee() {}
};

class Manager : public Employee {
~Manager() {}
}

Employee * m = new Manager();//here was the mistake
delete m; // <-

In this case base class destructor if marked as virtual so
as derived class destructor will get called first then base
class destructor.

Is This Answer Correct ?    2 Yes 0 No

what is virtual destructor..

Answer / suresh.k (portblair)

Using virtual destructors, you can destroy objects without
knowing their type - the correct destructor for the object
is invoked using the virtual function mechanism. Note that
destructors can also be declared as pure virtual functions
for abstract classes.

if someone will derive from your class, and if someone will
say "new Derived", where "Derived" is derived from your
class, and if someone will say delete p, where the actual
object's type is "Derived" but the pointer p's type is your
class.

Is This Answer Correct ?    2 Yes 4 No

what is virtual destructor..

Answer / rahul

virtual destructor is just to remove the variable without
knowing its type.....

Is This Answer Correct ?    0 Yes 3 No

what is virtual destructor..

Answer / maria alex

Normally virtual destructor is used to destroy a base class
object without knowing it's type...

Is This Answer Correct ?    0 Yes 3 No

Post New Answer

More OOPS Interview Questions

What is abstract class in oop?

0 Answers  


What do you mean by Encapsulation?

0 Answers   Ittiam Systems,


What are the components of marker interface?

0 Answers  


swapping program does not use third variable

5 Answers   TCS,


Can we have a private constructor ?

12 Answers   HSBC, Ness Technologies, TCS, Wipro,


Why we are use # in begning of programme of c++.

2 Answers   Syntel,


What is namespace?

15 Answers  


monkey starts climbing up a tree 20ft tall,each hour ,it hops 3ft and slips back by 2ft .how much time it wil tak to reach top of the tree?

13 Answers   IonIdea,


What is abstraction encapsulation?

0 Answers  


Can we override main method?

0 Answers  


Objective The objective of this problem is to test the understanding of Object-Oriented Programming (OOP) concepts, in particular, on encapsulation. Problem Description Create a program for managing customer’s bank accounts. A bank customer can do the following operations: 1. Create a new bank account with an initial balance. 2. Deposit money into his/her account. 3. Withdraw money from his/her account. For this operation, you need to output “Transaction successful” if the intended amount of money can be withdrawn, otherwise output “Transaction unsuccessful” and no money will be withdrawn from his/her account. Input The input contains several operations and is terminated by “0”. The operations will be “Create name amount”, “Deposit name amount”, or “Withdraw name amount”, where name is the customer’s name and amount is an integer indicating the amount of money. There will be at most 100 bank accounts and they are all created on the first month when the bank is opening. You may assume that all account holders have unique names and the names consist of only a single word. Output The output contains the transaction result of withdrawal operations and the final balance of all customers after some withdrawal and deposit operations (same order as the input). Sample Input Create Billy 2500 Create Charlie 1000 Create John 100 Withdraw Charlie 500 Deposit John 899 Withdraw Charlie 1000 0

0 Answers  


What is polymorphism? Explain with an example.

48 Answers  


Categories