Is it possible to have Virtual Constructor? If yes, how?
If not, Why not possible ?
Ans:
There is nothing like Virtual Constructor.
The Constructor can’t be
virtual as the constructor is a code which is responsible for creating a
instance of a class and it can’t be delegated to any other object by
virtual keyword means.
What about Virtual Destructor?
Ans:
Yes there is a Virtual Destructor. A destructor can be virtual
as it is possible as at runtime depending on the type of object pointer
is pointing to , proper destructor will be called.
What is Pure Virtual Function? Why and when it is used ?
Ans:
The abstract class whose pure virtual method has to be
implemented by all the classes which derive on these. Otherwise it would
result in a compilation error.
This construct should be used when one wants to ensure that
all the derived classes implement the method defined as pure virtual in
base class.
What is problem with Runtime type identification?
Ans:
The run time type identification comes at a cost of performance penalty. Compiler maintains the class.
How Virtual functions call up is maintained?
Ans:
Through Look up tables added by the compile to every class image. This also leads to performance penalty.
Can inline functions have a recursion?
Ans:
No.
Syntax wise It is allowed. But then the function is no longer
Inline. As the compiler will never know how deep the recursion is at
compilation time.
How do you link a C++ program to C functions?
Ans:
By using the extern "C" linkage specification around the C
function
declarations. Programmers should know about mangled function
names and type-safe linkages. Then they should explain how the extern "C"
linkage specification statement turns that feature off during
compilation so that the linker properly links function calls to C
functions. Another acceptable answer is "I don't know. We never had to
do that." Merely describing what a linker does indicates that the
programmer does not understand the issue that underlies the question.
Explain the scope resolution operator?
Ans:
It permits a program to reference an identifier in the global
scope that has been hidden by another identifier with the same name in
the local scope.
How many ways are there to initialize an int with a constant?
Ans:
Two:-
1. int foo = 123;
2. int bar(123);
2. int bar(123);
What is your reaction to this line of code?
delete this;
delete this;
Ans:
It is not a good programming Practice.
A good programmer will insist that you should absolutely never
use the statement if the class is to be used by other programmers and
instantiated as static, extern, or automatic objects. That much should
be obvious.
The code has two built-in pitfalls. First, if it executes in a
member function for an extern, static, or automatic object, the program
will probably crash as soon as the delete statement executes.
There is no portable way for an object to tell that it was instantiated
on the heap, so the class cannot assert that its object is properly
instantiated. Second, when an object commits suicide this way, the using
program might not know about its demise. As far as the instantiating
program is concerned, the object remains in scope and continues to exist
even though the object did itself in. Subsequent dereferencing of the
pointer can and usually does lead to disaster. I think that the language
rules should disallow the idiom, but that's another matter.
What is the difference between a copy constructor and an overloaded assignment operator?
Ans:
A copy constructor constructs a new object by using the
content of the argument object. An overloaded assignment operator
assigns the contents of an existing object to another existing object of
the same class.
When should you use multiple inheritance?
Ans:
There are three acceptable answers:-
"Never," "Rarely," and "When the problem domain cannot be accurately modeled any other way."
Consider an Asset class,
Building class, Vehicle class, and CompanyCar
class. All company cars are vehicles. Some company cars are assets
because the organizations own them. Others might be leased. Not all
assets are vehicles. Money accounts are assets. Real estate holdings are
assets. Some real estate holdings are buildings. Not all buildings are
assets. Ad infinitum. When you diagram these relationships, it becomes
apparent that multiple inheritance is a likely and intuitive way to
model this common problem domain. The applicant should understand,
however, that multiple inheritance, like a chainsaw, is a useful tool
that has its perils, needs respect, and is best avoided except when
nothing else will do.
What is a virtual destructor?
Ans:
The simple answer is that a virtual destructor is one that is declared with the virtual attribute.
The behavior of a virtual destructor is what is important. If
you destroy an object through a pointer or reference to a base class,
and the base-class destructor is not virtual, the derived-class
destructors are not executed, and the destruction might not be comple
Can a constructor throw a exception? How to handle the error when the constructor fails?
Ans:
The constructor never throws a error.
What are the debugging methods you use when came across a problem?
Ans:
Debugging with tools like :
GDB, DBG, Forte, Visual Studio.
Analyzing the Core dump.
Using tusc to trace the last system call before crash.
Putting Debug statements in the program source code.
How the compilers arranges the various sections in the executable image?
Ans:
The executable had following sections:-
Data Section (uninitialized data variable section, initialized data variable section )
Code Section
Remember that all static variables are allocated in the initialized variable section.
Explain the ISA and HASA class relationships. How would you implement each in a class design?
Ans:
A specialized class "is" a specialization of another class
and, therefore, has the ISA relationship with the other class.
This relationship is best implemented by embedding an object of the Salary class in the Employee class.
When is a template a better solution than a base class?
Ans:
When you are designing a generic class to contain or otherwise
manage objects of other types, when the format and behavior of those
other types are unimportant to their containment or management, and
particularly when those other types are unknown (thus, the generality)
to the designer of the container or manager class.
What are the differences between a C++ struct and C++ class?
Ans:
The default member and base-class access specifies are different.
This is one of the commonly misunderstood aspects of C++. Believe it or not, many programmers think that a C++ struct is just like a C struct, while a C++ class has inheritance, access specifies, member functions, overloaded operators, and so on. Actually, the C++ struct has all the features of the class. The only differences are that a struct defaults to public member access and public base-class inheritance, and a class defaults to the private access specified and private base-class inheritance.
How do you know that your class needs a virtual destructor?
Ans:
If your class has at least one virtual function, you should
make a destructor for this class virtual. This will allow you to delete a
dynamic object through a pointer to a base class object. If the
destructor is non-virtual, then wrong destructor will be invoked during
deletion of the dynamic object.
What is the difference between new/delete and malloc/free?
Ans:
Malloc/free do not know about constructors and destructors.
New and delete create and destroy objects, while malloc and free
allocate and deallocate memory.
What happens when a function throws an exception that was not
specified by an exception specification for this function?
Ans:
Unexpected() is called, which, by default, will eventually trigger abort().
Can you think of a situation where your program would crash
without reaching the breakpoint, which you set at the beginning of
main()?
Ans:
C++ allows for dynamic initialization of global variables
before main() is invoked. It is possible that initialization of global
will invoke some function. If this function crashes the crash will occur
before main() is entered.
What issue do auto_ptr objects address?
Ans:
If you use auto_ptr objects you would not have to be concerned
with heap objects not being deleted even if the exception is thrown.
Is there any problem with the following:
char *a=NULL; char& p = *a;?
Ans:
The result is undefined. You should never do this. A reference must always refer to some object.
Why do C++ compilers need name mangling?
Ans:
Name mangling is the rule according to which C++ changes
function's name into function signature before passing that function to a
linker. This is how the linker differentiates between different
functions with the same name.
Is there anything you can do in C++ that you cannot do in C?
Ans:
No. There is nothing you can do in C++ that you cannot do in C. After all you can write a C++ compiler in C.
c++ programming turbo c++ c++ screen borland c++ c++ wallpaper
c++ interview questions pdf, c++ interview questions
for experienced, c++ interview questions answers, c++ tutorial, oops interview
questions, c++ faq, unix interview questions, java interview questions,
pointers interview questions, , c++ interview questions, c++ faq interview
questions, c++ faq pdf, c++ tutorial for beginners, c++ tutorial pdf, c++ faq
lite download, c++ faq lite pdf, c++ interview questions answers pdf,
using pointers c++, array of pointers c++, c++ void pointer value, const
pointer and pointer to const, const parameter c++, have c++ void pointer, unix
shell scripting interview questions, unix interview questions pdf, unix
interview questions with answers, unix commands interview questions, oops
interview questions with answers, c# oops interview questions, oops interview
questions pdf, dotnet oops interview questions, java oops interview questions,
sql interview questions, advanced oops interview questions, c++ interview
questions and answers pdf free download, java interview questions and answers
pdf, , visual c++ interview questions and answers pdf, object oriented
programming interview questions, oops interview questions and answers pdf, java
oops interview questions and answers, sap abap oops interview questions and
answers, php oops interview questions and answers, .net oops interview
questions and answers, php oops interview questions, , c++ faq book, , virtual
destructor c++ faq, c++ faq index, unix commands, , oracle interview questions,
linux interview questions, c++ void pointer address, sizeof cplusplus, void
pointers c++, 2d array of pointers, array pointers example, c++ array of
pointers forums, c++ pass array of pointers, array pointers class, constant
pointers c++, string pointers c++, examples pointers c++, introduction pointers
c++, define pointers c++, vc++ interview questions answers, pointers interview
questions pdf, pointers c++, function pointers interview questions, interview
questions structures c, c++ pointer interview questions, c++ interview
questions ebook, c++ programming certificatation review ebook, c++ books, c++
faqs marshall p cline greg lomow, c++ faq book free download, c++ faqs,
c++ faq lite, c++ tutorial download, c++ video tutorial forums, c++ video tutorial
free download, c++ training, learn c++ video tutorials, c++ video tutorials
download, c++ tutorials, c++ video tutorial, visual c++ tutorial, c++ compiler,
c++ tutorial pdf free download, dev c++ tutorial, java interview
questions pdf, c++ interview questions and answers pdf, c++ interview questions
and answers pdf free download, download c++ interview questions and answers
pdf, java interview questions and answers, c++ interview questions and answers
for freshers,
कोई टिप्पणी नहीं:
एक टिप्पणी भेजें