class x
{
int a;
public:
x()
{
cout<<"\n\ndefault constructor";
}
x(x& obj)
{
cout<<"\n\ncopy constructor";
}
x fun()
{
x ob;
return ob;
}
};
int main()
{
x ob1;
x ob2=ob1.fun();
return 0;
}
изначально этот код выдавал ошибку «нет соответствующей функции для вызова 'x :: x (x)'», когда я изменил конструктор копирования на
x(const x& obj)
{
cout<<"\n\ncopy constructor";
}
, вывод становится
конструктор по умолчанию
конструктор по умолчанию
все же конструктор копирования не выполняется .... почему?