I want to know the difference between the Class(const Class & c)
constructor and the Class(Class & c)
constructor in C++.
class Class
{
public:
Class()
{
cout << "running Class()..." << endl;
}
Class(Class& c)
{
cout << "running Class(Class& c)..." << endl;
}
Class(const Class& c)
{
cout << "runing Class(const Class& c)..." << endl;
}
};
Class
is defined as above.
I know that Class(const Class& c)
is a copy constructor. It will be called when new Class object is created. For example:
Class c; // output->running Class()...
Class cc(c); // output->runing Class(const Class& c)...
Now, I want to know when the Class(Class& c)
constructor will be called.