Considere el código dadollamada al constructor de copia
struct ABC
{
ABC()
{
std::cout<<" Calling from default constructor";
}
ABC(const ABC ©)
{
std::cout<<"Calling from copy constructor";
}
};
int main()
{
ABC abc = ABC();
}
Tengo dos preguntas
Q1) Extracción const de la declaración de parámetros constructor de copia da error. ¿Por qué?
Q2) Después de agregar la palabra clave const, no veo una llamada al constructor de copia. ¿Por qué? El constructor de copia no recibe llamadas, entonces, ¿por qué es necesario const?
TIA
Agregaría Q3) ¿Por qué no se muestra nada después de que cambiamos esa línea a 'ABC abc (ABC());'? – Kos
Respuesta a (Q3) [aquí] (http://stackoverflow.com/questions/4283576/constructor-invocation-mechanism/4283589#4283589). Respuestas a Q1 y Q2 [aquí] (http://stackoverflow.com/questions/4286301/why-isnt-the-copy-constructor-called-here/4286330#4286330) –
@Prasoon: Q1 no se responde en el enlace publicaste – ybungalobill