WHEN A COPY CONSTER IS CALL ?
Answers were Sorted based on User's Feedback
Answer / preeti
There are 3 important places where a copy constructor is
called.
When an object is created from another object of the same
type
When an object is passed by value as a parameter to a
function
When an object is returned from a function
class A //With copy constructor
{
private:
char *name;
public:
A()
{
name = new char[20];
}
~A()
{
delete name[];
}
//Copy constructor
A(const A &b)
{
name = new char[20];
strcpy(name, b.name);
}
};
| Is This Answer Correct ? | 9 Yes | 0 No |
Answer / achal ubbott
Question on copy constructor is a classic one for an
interview. Since most modern day c++ compilers provide a
default copy constructor, most people don't get to try
hands over it. But in some cases it becomes mandatory to
define your own copy constructor and override the default
one.
So the places when CC is invoked are:-
1. calling a function e.g. void f(sample A);
2. creating an object from the existing object.
e.g. sample A=B; // here B is existing object.
3. When a function returns a copy of object.
e.g. sample f()
{
sample a;
return a;
}
| Is This Answer Correct ? | 2 Yes | 0 No |
Answer / vishwa
emp e;//default constr
emp e(10);//paramatrisized constr
emp e(e1);//copy constr
emp e = e1;//copy constr
| Is This Answer Correct ? | 2 Yes | 0 No |
What are the 4 main oop principles?
What is the difference between pass by value,pass by pointer,pass by reference in the catch block in the exception handling in c++
WAP to generate 2n+1 lines of the following pattern on the computer screen:
How is data security provided in Object Oriented languages? ?
Can we have a private constructor ?
12 Answers HSBC, Ness Technologies, TCS, Wipro,
Can private class be inherited?
What is class in oop with example?
How to deploy web appliction in web logic ?
How to hide the base class functionality in Inheritance?
suppose A is a base class and B is the derved class. Both have a method foo which is defined as a virtual method in the base class. You have a pointer of classs B and you typecast it to A. Now when you call pointer->foo, which method gets called? The next part of the question is, how does the compiler know which method to call?
Why is oop useful?
How to improve object oriented design skills?