C++ Interview Questions Part 5

C++ interview question: What will happen if I say delete this
Answer: if you say "delete this", you are effectively calling the destructor twice, which could well be a disaster if your class uses heap. The destructor will be called when you say “delete this” and again when that object goes out of scope. Since this is the language behavior, there is no way to prevent the destructor from being called twice. Please refrain from forcibly calling a destructor or using clause like this. 

C++ interview question: What is the output of printf ("%d")
Answer :Usually the output value cannot be predicted. It will not give any error. It will print a garbage value. But if the situation is 
main()
{
int a=1,b=2,c=3;
printf("%d");
}
The output will be the value of the last variable, ie. 3 

C++ interview question: # what is an algorithm (in terms of the STL/C++ standard library)?
Answer: Algorithm in STL consist different searching and sorting algos implementation, which takes start and end iterators of STL container on which algo is going to work. 

C++ interview question: How can you force instantiation of a template? 
Answer: you can instantiate a template in two ways. 1. Implicit instantiation and 2. Explicit Instantiation implicit instatanitioan can be done by the following ways:

template 
class A
{
public: 
A(){}
~A(){}
void x();
void z();
};
void main()
{
A ai;
A af;
}

External Instantion can be done the following way:
int main()
{
template class A;
template class A;

C++ interview question: What is the difference between operator new and the new operator? 
Answer: This is what happens when you create a new object: 1. the memory for the object is allocated using "operator new". 2. the constructor of the class is invoked to properly initialize this memory. As you can see, the new operator does both 1 and 2. The operator new merely allocates memory, it does not initialize it. Where as the new operator also initializes it properly by calling the constructor. 

C++ interview question: What is the Basic nature of "cin" and "cout" and what concept or principle we are using on those two? 
Answer: Basically "cin and cout" are INSTANCES of istream and ostream classes respectively. And the concept which is used on cin and cout is operator overloading. Extraction and Insertion operators are overloaded for input and ouput operations.

0 comments:

  © Blogger templates The Professional Template by Ourblogtemplates.com 2008

Back to TOP