Preguntas con respuestas sobre "explicit-constructor"

21 preguntas, página #1

3

votos

2

respuestas

vistas 12,063

Error "Más de un operador + coincide con estos operandos"

Estoy creando una clase de dinero para una tarea escolar. He definido una conversión de Money a double, tengo un constructor para Money que toma un int, otro constructor toma un double y he sobrecargado el operador "+" para sumar dos objetos de tipo Money. El mensaje de error aparece cuando...

preguntado 10 años, 9 meses

19

votos

3

respuestas

vistas 1,088

¿Hay alguna desventaja en marcar todos los constructores de C ++ como explícitos?

Algunas veces, al refactorizar el código, me olvidé de agregar la palabra clave explícita al agregar un parámetro a un constructor previamente sin parámetros, o al eliminar parámetros de un constructor previamente multiparámetro. Para evitar esto, me he acostumbrado a marcar cada constructor como explícito, ...

preguntado 11 años, 9 meses

36

votos

5

respuestas

vistas 14,279

¿Por qué se permite explícitamente para los constructores predeterminados y los constructores con 2 o más parámetros (no predeterminados)?

Entiendo que los constructores con un parámetro (no predeterminado) actúan como convertidores implícitos, que se convierten de ese tipo de parámetro al tipo de clase. Sin embargo, explícito se puede usar para calificar cualquier constructor, aquellos sin parámetros (constructor predeterminado) o aquellos con 2 o más (no predeterminado) ...

preguntado 12 años, 1 meses

44

votos

2

respuestas

vistas 19,465

Propósito de los constructores predeterminados explícitos

Recientemente noté una clase en C ++ 0x que requiere un constructor predeterminado explícito. Sin embargo, no puedo encontrar un escenario en el que se pueda llamar implícitamente a un constructor predeterminado. Parece un especificador bastante inútil. Pensé que tal vez no permitiría la Clase c; a favor de la Clase c = ...

preguntado 12 años, 8 meses

1

votos

1

respuestas

vistas 640

¿Puede un constructor de un solo argumento con un valor predeterminado estar sujeto a una conversión de tipo implícita?

Entiendo el uso de la palabra clave explícita para evitar las conversiones de tipo implícitas que pueden ocurrir con un constructor de un solo argumento, o con un constructor que tiene múltiples argumentos de los cuales solo el primero no tiene un valor predeterminado. ...

preguntado 12 años, 8 meses