«operator-overloading» 태그된 질문

연산자 오버로딩은 관련된 피연산자의 유형에 따라 연산자에 대한 사용자 정의 구현을 허용하는 프로그래밍 언어의 기능입니다. 일부 언어에서는 새 연산자를 정의 할 수 있고 다른 언어에서는 기존 연산자 만 재정의 할 수 있습니다.

2
연산자 오버로딩 : 멤버 함수 대 비 멤버 함수?
멤버 함수로 선언 된 오버로드 된 연산자는 하나의 매개 변수 만 가질 수 있고 자동으로 전달되는 다른 매개 변수는 포인터 이기 때문에 비대칭 이라는 것을 읽었습니다 this. 따라서 이들을 비교할 기준이 없습니다. 반면 a friend로 선언 된 오버로드 된 연산자는 동일한 유형의 두 인수를 전달하므로 비교할 수 있기 때문에 대칭 …

10
`+ =`에 대한 C # 연산자 오버로드?
에 대한 연산자 오버로드를 시도하고 +=있지만 할 수 없습니다. 에 대한 연산자 오버로드 만 만들 수 있습니다 +. 어째서? 편집하다 이것이 작동하지 않는 이유는 Vector 클래스 (X 및 Y 필드 포함)가 있기 때문입니다. 다음 예를 고려하십시오. vector1 += vector2; 내 연산자 오버로드가 다음과 같이 설정된 경우 : public static Vector …



6
TypeScript에서 메서드 오버로딩을 수행하는 방법이 있습니까?
TypeScript 언어로 메서드 오버로딩을 수행하는 방법이 있습니까? 나는 다음과 같은 것을 성취하고 싶다. class TestClass { someMethod(stringParameter: string): void { alert("Variant #1: stringParameter = " + stringParameter); } someMethod(numberParameter: number, stringParameter: string): void { alert("Variant #2: numberParameter = " + numberParameter + ", stringParameter = " + stringParameter); } } …

5
__cmp__ 대신 __lt__
Python 2.x에는 비교 연산자를 오버로드하는 두 가지 방법 __cmp__또는 __lt__. 풍부한 비교 과부하가 선호된다고하지만 이것이 왜 그런가요? 풍부한 비교 연산자는 각각을 구현하는 것이 더 간단하지만 거의 동일한 논리로 여러 연산자를 구현해야합니다. 그러나 내장 cmp및 튜플 순서를 사용할 수 있다면 __cmp__매우 간단 해지고 모든 비교를 수행 할 수 있습니다 . class …

9
자바 스크립트 : 연산자 오버로딩
저는 며칠 동안 JavaScript로 작업 해 왔으며 정의 된 개체에 대해 연산자를 오버로드하고 싶은 시점에 도달했습니다. Google에서 이것을 검색 한 후 공식적으로 이것을 할 수없는 것 같지만,이 작업을 수행하는 오랜 방법을 주장하는 사람들이 있습니다. 기본적으로 Vector2 클래스를 만들고 다음을 수행 할 수 있기를 원합니다. var x = new Vector2(10,10); var …

4
연산자 <<는 정확히 하나의 인수를 가져야합니다.
아 #include "logic.h" ... class A { friend ostream&amp; operator&lt;&lt;(ostream&amp;, A&amp;); ... }; logic.cpp #include "a.h" ... ostream&amp; logic::operator&lt;&lt;(ostream&amp; os, A&amp; a) { ... } ... 컴파일하면 다음과 같이 표시됩니다. std :: ostream &amp; logic :: operator &lt;&lt; (std :: ostream &amp;, A &amp;) '는 정확히 하나의 인수를 가져야합니다. 무엇이 …

18
연산자 [] [] 오버로드
[]연산자를 두 번 오버로드 할 수 있습니까? 허용하려면 다음과 같이하십시오. function[3][3](2 차원 배열에서와 같이). 가능하다면 몇 가지 예제 코드를보고 싶습니다.




당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.