KnowledgeHub
Questions
Tags
Users
Search
Alex Rivera
|
Logout
Edit Question
Title
Body
Do we have to explicitly define a default constructor when we define a copy constructor for a class?? Please give reasons. eg: class A { int i; public: A(A& a) { i = a.i; //Ok this is corrected.... } A() { } //Is this required if we write the above copy constructor?? }; Also, if we define any other parameterized constructor for a class other than the copy constructor, do we also have to define the default constructor?? Consider the above code without the copy constructor and replace it with A(int z) { z.i = 10; } Alrite....After seeing the answers I wrote the following program. #include <iostream> using namespace std; class X { int i; public: //X(); X(int ii); void print(); }; //X::X() { } X::X(int ii) { i = ii; } void X::print() { cout<<"i = "<<i<<endl; } int main(void) { X x(10); //X x1; x.print(); //x1.print(); } ANd this program seems to be working fine without the default constructor. Please explain why is this the case?? I am really confused with the concept.....
Tags (comma-separated)
Save Edits
Cancel