Nedir
bir objeyi başka objeye eşitleriz (ilk değerleri)
MyClass y;
MyClass x = y; // copy constructor çağrılır.
ya da
MyClass m1(m2); // burda da copy constructor çağrılır.
bu aslında MyClass::MyClass(const MyClass &r); gibi bir syntaxtır
Call by Value
void func (MyClass x) { // copy constuctor
}
MyClass func() // copy constructer
{
return m3
}
Örnek 1
Class MyClass
{
private:
int x ;
public :
MyClass()
{
cout«_space;“default constructor”«_space;endl;
}
MyClass(const MyClass &r) // const çünkü ne varsa değiştirmeden atıyoruz
{
cout«_space;“copy constructor”«_space;endl;
}
};
int main()
MyClass m1 // default constructor çağrılır
MyClass m2(m1); // copy constructor çağrılır