Articles of sobrecarga de

¿Cómo crear un método Java que acepte una cantidad variable de argumentos?

Por ejemplo, el propio String.format() Java admite una cantidad variable de argumentos. String.format(“Hello %s! ABC %d!”, “World”, 123); //=> Hello World! ABC 123! ¿Cómo puedo hacer mi propia función que acepta una cantidad variable de argumentos? Siguiente pregunta: Realmente estoy tratando de hacer un atajo de conveniencia para esto: System.out.println( String.format(“…”, a, b, c) ); […]

¿Por qué el autoboxing hace que algunas llamadas sean ambiguas en Java?

Hoy noté que el auto-boxing a veces puede causar ambigüedad en la resolución de sobrecarga del método. El ejemplo más simple parece ser este: public class Test { static void f(Object a, boolean b) {} static void f(Object a, Object b) {} static void m(int a, boolean b) { f(a,b); } } Cuando se comstack, […]

Sobrecarga de método Java + envío doble

¿Alguien puede explicar en detalle el motivo por el que se invoca el método de print(Parent parent) sobrecargado print(Parent parent) cuando se trabaja con Child instancia Child en el fragmento de código de prueba? ¿Alguna peculiaridad de la sobrecarga / resolución de métodos o métodos virtuales en Java involucrada aquí? ¿Alguna referencia directa a Java […]

Sobrecarga de herencia y método

¿Por qué el comstackdor C ++ da este error? Por qué puedo acceder a lol () desde B, pero no puedo acceder a rofl () [sin parámetros]. ¿Dónde está la captura? class A { public: void lol(void) {} void rofl(void) { return rofl(0);} virtual void rofl(int x) {} }; class B : public A { […]

las funciones sobrecargadas están ocultas en la clase derivada

En una clase derivada Si redefino / sobrecarga un nombre de función de una clase Base, entonces esas funciones sobrecargadas no son accesibles / visibles para la clase derivada. ¿¿Por qué es esto?? Si no sobrecargamos la función oveloaded de la clase base en la clase derivada, todas las versiones sobrecargadas de esa función estarán […]

¿Por qué mi log en el espacio de nombres estándar?

En el siguiente código, defino una función de log trivial. En main bash no llamarlo; Llamo a std::log . Sin embargo, mi propio log se llama; y veo “log!” en la pantalla. ¿Alguien sabe por qué? Uso G ++ 4.7 y clang ++ 3.2. #include #include double log(const double x) { std::cout << "log!\n"; return […]

¿Alguna razón para sobrecargar global nuevo y eliminar?

A menos que esté progtwigndo partes de un sistema operativo o un sistema integrado, ¿hay alguna razón para hacerlo? Me imagino que para algunas clases particulares que se crean y destruyen con frecuencia sobrecargando las funciones de administración de la memoria o introduciendo un grupo de objetos podría disminuir la sobrecarga, pero haciendo estas cosas […]

¿Se puede utilizar la ubicación nueva para las matrices de una manera portátil?

¿Es posible usar la ubicación nueva en el código portátil cuando se usa para arreglos? Parece que el puntero que obtiene de nuevo [] no es siempre el mismo que la dirección que ingresa (5.3.4, la nota 12 en el estándar parece confirmar que esto es correcto), pero no veo cómo puede asignar un búfer […]

¿error con varargs y sobrecarga?

Parece haber un error en la implementación de Java varargs. Java no puede distinguir el tipo apropiado cuando un método está sobrecargado con diferentes tipos de parámetros vararg. Me da un error. The method … is ambiguous for the type … Considera el siguiente código: public class Test { public static void main(String[] args) throws […]

Resolución de sobrecarga de C ++

Dado el siguiente ejemplo, ¿por qué tengo que usar explícitamente la statement b->A::DoSomething() lugar de simplemente b->DoSomething() ? ¿No debería la resolución de sobrecarga del comstackdor averiguar de qué método estoy hablando? Estoy usando Microsoft VS 2005. (Nota: el uso de Virtual no ayuda en este caso). class A { public: int DoSomething() {return 0;}; […]