Articles of sobrecarga

funciones ‘amigo’ y << sobrecarga del operador: ¿cuál es la forma correcta de sobrecargar un operador para una clase?

En un proyecto en el que estoy trabajando, tengo una clase de Score , que se define a continuación en score.h . Estoy tratando de sobrecargarlo así que, cuando se realiza una operación << , se _points + ” ” + _name . Esto es lo que traté de hacer: ostream & Score::operator<< (ostream & […]

¿Pueden las macros estar sobrecargadas por el número de argumentos?

¿Cómo funciona esto ? ¿Cómo se puede implementar una macro variadica C99 / C ++ 11 para expandirse a diferentes cosas sobre la única base de cuántos argumentos se le otorgan?

C ++ problema con la sobrecarga de funciones en una clase heredada

Posiblemente sea una pregunta novato, lo siento. Me enfrenté a un problema raro recientemente cuando trataba de meterme con algunas cosas de alto nivel en C ++, sobrecarga de funciones y herencia. Mostraré un ejemplo simple, solo para demostrar el problema; Hay dos clases, classA y classB , como a continuación; class classA{ public: void […]

Resolución de sobrecarga entre objeto, referencia de valor real, referencia de referencia

Dadas las tres funciones, esta llamada es ambigua. int f( int ); int f( int && ); int f( int const & ); int q = f( 3 ); La eliminación de f( int ) hace que tanto Clang como GCC prefieran la referencia rvalue sobre la referencia lvalue. Pero en su lugar, eliminar cualquiera […]

¿Por qué el comstackdor Scala no permite métodos sobrecargados con argumentos predeterminados?

Si bien puede haber casos válidos donde tales sobrecargas de métodos podrían volverse ambiguas, ¿por qué el comstackdor desautoriza el código que no es ambiguo ni en tiempo de comstackción ni en tiempo de ejecución? Ejemplo: // This fails: def foo(a: String)(b: Int = 42) = a + b def foo(a: Int) (b: Int = […]

cómo sobrecargar un operador de asignación en swift

Me gustaría sobrescribir el operador ‘=’ para un CGFloat como el siguiente bash: func = (inout left: CGFloat, right: Float) { left=CGFloat(right) } Entonces podría hacer lo siguiente: var A:CGFloat=1 var B:Float=2 A=B Se puede hacer esto ? Obtengo el error Explicitly discard the result of the closure by assigning to ‘_’

Llamada a la función reemplazada de clase base desde el método de clase base

public class A { public void f1(String str) { System.out.println(“A.f1(String)”); this.f1(1, str); } public void f1(int i, String str) { System.out.println(“A.f1(int, String)”); } } public class B extends A { @Override public void f1(String str) { System.out.println(“B.f1(String)”); super.f1(str); } @Override public void f1(int i, String str) { System.out.println(“B.f1(int, String)”); super.f1(i, str); } } public class […]

¿Main () está sobrecargado en C ++?

2 versiones válidas de main() existen en C++ : int main() // version 1 int main(int argc, char **argv) // version 2 Pero ambas sobrecargas no pueden coexistir al mismo tiempo. Por qué no? (Caso de uso potencial: al ejecutar el progtwig desde el terminal, si no se pasan los argumentos, se llama a la […]

¿Puedo anular y sobrecargar métodos estáticos en Java?

Me gustaría saber: ¿Por qué los métodos estáticos no pueden anularse en Java? ¿Pueden los métodos estáticos estar sobrecargados en Java?

Definición doble de Scala (2 métodos tienen el mismo tipo de borrado)

Escribí esto en scala y no comstackrá: class TestDoubleDef{ def foo(p:List[String]) = {} def foo(p:List[Int]) = {} } el comstackdor notifica: [error] double definition: [error] method foo:(List[String])Unit and [error] method foo:(List[Int])Unit at line 120 [error] have same type after erasure: (List)Unit Sé que JVM no tiene soporte nativo para los generics, así que entiendo este […]