Follow Our FB Page << CircleMedia.in >> for Daily Laughter. We Post Funny, Viral, Comedy Videos, Memes, Vines...


Do we have private destructors?

Answers were Sorted based on User's Feedback



Do we have private destructors?..

Answer / sampurna pandey

yes, we can have both private constructor and destructor
and can use them with help of static function for example

class Base
{
static int i;
Base(){}
~Base(){}
public:
static Base *Creat_Object();
static void Destroy_Object(Base *p);
void Add()
{
cout<<i<<" Add function"<<endl;
}
};

int Base::i=0;
Base* Base::Creat_Object()
{
Base * ptr = new Base();
i=5;
return ptr;
}

void Base::Destroy_Object(Base *p)
{
delete p;
}

void main()
{
Base *temp = Base::Creat_Object();
temp->Add();
Base::Destroy_Object(temp);
}

correct me if i am wrong.

Is This Answer Correct ?    21 Yes 3 No

Do we have private destructors?..

Answer / guest

RE: #1

You can have private constructors. It's pretty common
practice when you create a class which you want to never be
constructed with "new" from outside the class (for example,
if you have a static factory member of the class).

Is This Answer Correct ?    10 Yes 1 No

Do we have private destructors?..

Answer / vaibhav meena

We can have Private Destructor and by using Friend Function
we can also instantiate it. :)

Is This Answer Correct ?    6 Yes 0 No

Do we have private destructors?..

Answer / subrat

Hi all,

Please visit this url for more clarity on "Private
destructors"

http://www.codeguru.com/cpp/cpp/cpp_mfc/stl/article.php/c414
3/

Is This Answer Correct ?    1 Yes 0 No

Do we have private destructors?..

Answer / binoy mathew

#include <iostream>
#include <stdlib.h>

class t
{
public:
t()
{
printf("in constr");
}

private: // note that constructor is private here
~t()
{
printf("in destr");
}
};


int main()
{
t *t1 = new t; // create a new obj
delete t1; // delete the obj, which calls destructor
return 0;
}

Try to compile the above code.
following error results...

[root@localhost Desktop]# g++ test.cpp
test.cpp: In function ‘int main()’:
test.cpp:13: error: ‘t::~t()’ is private
tt.cpp:: error: within this context
[root@localhost Desktop]#

....implies, we can't have destructor private.

Is This Answer Correct ?    1 Yes 3 No

Do we have private destructors?..

Answer / shakti singh khinchi

U can't instantiate instance of that class.

Is This Answer Correct ?    0 Yes 3 No

Do we have private destructors?..

Answer / dhananjay

no

Is This Answer Correct ?    2 Yes 5 No

Do we have private destructors?..

Answer / vishwa

we cannot say it destructors are not private. because for
empty class if we use delete operator then it is going to
delete the destructor which is private.

Is This Answer Correct ?    0 Yes 8 No

Do we have private destructors?..

Answer / thuang

In replay to Vishwa,

for empty class, compiler will supply a default constructor
and a destructor for us, their access modifiers were public.

Is This Answer Correct ?    0 Yes 8 No

Do we have private destructors?..

Answer / pooja

no we do not have private destructors because the
destructors can be declared only in public access
specifier.

Is This Answer Correct ?    1 Yes 11 No

Post New Answer



More C++ General Interview Questions

Explain dangling pointer.

0 Answers  


A company pays its salespeople on a commission basis. The salespeople receive $200 per week plus 9 percent of their gross sales for that week. For example, a saleperson who sells $5000 worth of merchandise in a week receives $200 plus 9 percent of $5000, or a total of $650. You have been supplied with a list of items sold by each salesperson. The values of these items are as follows: Item Value A 239.99 B 129.75 C 99.95 D 350.89 Write a program that inputs one salesperson's items sold in a week (how many of item A? of item B? etc.) and calculates and displays that salesperson's earnings for that week.

0 Answers  


What is problem with Runtime type identification?

2 Answers  


How do you establish a has-a relationship?

0 Answers  


What is the sequence of destruction of local objects?

0 Answers  






A prime number is a number which is divisible only by itself and 1. Examples of the first few primes are 2, 3, 5, 7, 11. Consider writing a program which can generate prime numbers for you. Your program should read in and set a maximum prime to generate and a minimum number to start with when looking for primes. This program should be able to perform the following tasks: 1. Read the maximum number from user (keyboard input) to look for primes. The program should not return any primes greater than this number. 2. Read the minimum number from user (keyboard input) to look for primes. The program should not return any primes less than this number. 3. Generate and print out every prime number between the maximum prime and minimum number specified by the user.

0 Answers  


Explain what happens when a pointer is deleted twice?

0 Answers  


How can we check whether the contents of two structure variables are same or not?

0 Answers  


What is auto used for in c++?

0 Answers  


What are the differences between a struct in C and in C++?

8 Answers   Amazon, Wipro,


What is expression parser in c++

0 Answers   Mphasis,


List out function which we can call without using object

1 Answers  






Categories