tell about copy constructor
Answers were Sorted based on User's Feedback
Answer / sudha
A copy constructor is a special constructor in the C++
programming language used to create a new object as a copy
of an existing object.
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 B //With copy constructor
{
private:
char *name;
public:
B()
{
name = new char[20];
}
~B()
{
delete name[];
}
//Copy constructor
B(const B &b)
{
name = new char[20];
strcpy(name, b.name);
}
};
| Is This Answer Correct ? | 6 Yes | 0 No |
Basic thing, copy constructor will be called whenever a copy
is made. and copy constructors are called when:
1. create a new object using existing object.
2. When is returning to caller.
3. When an object is passed by value as a parameter to a
function
Basically a default copy constructor will be created which
does bitwise copy also know as shallow copy.
This will become a problem when we are dealing with dynamic
memory allocation for variables and leads to dangling pointer.
To overcome we have to override by deep copy.
| Is This Answer Correct ? | 3 Yes | 0 No |
Answer / achal ubbott
e.g. Let there be a class
class Sample
{
};
suppose in main() you do like here
Sample obj1;
Sample obj2 = obj1; // Copy cons called here.
// then you call a function like this
fun(obj1); //Copy cons called here.
| Is This Answer Correct ? | 1 Yes | 1 No |
Why do we use oops?
What is multilevel inheritance explain with example?
What is new keyword in oops?
Why do we use polymorphism?
what is virtual function in c++
When a private constructer is being inherited from one class to another class and when the object is instantiated is the space reserved for this private variable in the memory??
Which method cannot be overridden?
string is a class or data type in java?
What are the advantages of inheritance?
26 Answers IBS, TCS,
what is a class
what are the different types of qualifier in java?
create a class complex having real and imaginary part of a complex no. as a data member. overload the binary operators(+,- and *) to perform the operations on complex no. objects. overload binary operator using friend function.
2 Answers CTS, Delhi University,