Articles of sobrecarga de operador

Qual é o caminho certo para sobrecarregar o operador == para uma hierarquia de classs?

Suponha que eu tenha a seguinte hierarquia de classs: class A { int foo; virtual ~A() = 0; }; A::~A() {} class B : public A { int bar; }; class C : public A { int baz; }; Qual é o caminho certo para sobrecarregar o operator== para essas classs? Se eu fizer todas […]

Javascript: sobrecarga de operadores

Eu tenho trabalhado com JavaScript por alguns dias agora e cheguei a um ponto em que eu quero sobrecarregar os operadores para os meus objects definidos. Depois de um período no Google procurando por isso, parece que você não pode oficialmente fazer isso, ainda existem algumas pessoas lá fora, alegando alguma maneira prolixo de realizar […]

Falha de resolução de sobrecarga ao transmitir object por meio de conversão implícita em string

Isenção de responsabilidade: Eu sei que a conversão implícita em string deve ser evitada, e que a abordagem apropriada seria uma op<< sobrecarga para Person . Considere o seguinte código: #include #include #include struct NameType { operator std::string() { return “wobble”; } }; struct Person { NameType name; }; int main() { std::cout << std::string("bobble"); […]

Como faço para verificar nulos em uma sobrecarga de operador ‘==’ sem recursion infinita?

O seguinte causará recursion infinita no método de sobrecarga do operador == Foo foo1 = null; Foo foo2 = new Foo(); Assert.IsFalse(foo1 == foo2); public static bool operator ==(Foo foo1, Foo foo2) { if (foo1 == null) return foo2 == null; return foo1.Equals(foo2); } Como faço para verificar se há nulos?

O operador << deve ser implementado como amigo ou como membro?

Essa é basicamente a questão, existe uma maneira “certa” de implementar o operator<< ? Lendo isso , posso ver algo como: friend bool operator<<(obj const& lhs, obj const& rhs); é preferível a algo como ostream& operator<<(obj const& rhs); Mas não consigo ver por que devo usar um ou outro. Meu caso pessoal é: friend ostream […]

Sobrecarregando operadores aritméticos em JavaScript?

Esta é a melhor maneira que posso pensar em formular esta questão, dada esta definição de “class” JavaScript: var Quota = function(hours, minutes, seconds){ if (arguments.length === 3) { this.hours = hours; this.minutes = minutes; this.seconds = seconds; this.totalMilliseconds = Math.floor((hours * 3600000)) + Math.floor((minutes * 60000)) + Math.floor((seconds * 1000)); } else if (arguments.length […]

Operador sobrecarga

É possível sobrecarregar o operador [] duas vezes? Para permitir, algo como isto: function[3][3] (como em uma matriz bidimensional). Se for possível, gostaria de ver algum código de exemplo.

Por que o Java não oferece sobrecarga de operadores?

Vindo de C ++ para Java, a pergunta óbvia não respondida é por que o Java não inclui sobrecarga de operadores? Não é Complex a, b, c; a = b + c; Complex a, b, c; a = b + c; muito mais simples que o Complex a, b, c; a = b.add(c); Complex a, […]

Como sobrecarregar corretamente o operador << para um ostream?

Eu estou escrevendo uma biblioteca de matriz pequena em C ++ para operações de matriz. No entanto meu compilador reclama, onde antes não o fez. Este código foi deixado em uma prateleira por 6 meses e entre eu atualizei meu computador de debian etch para lenny (g ++ (Debian 4.3.2-1.1) 4.3.2) porém eu tenho o […]

Operador sobrecarregado em Java

Por favor, você pode me dizer se é possível sobrecarregar os operadores em Java? Se for usado em qualquer lugar em Java, você poderia me contar sobre isso.