본문 바로가기

C++ 연산자

(2)
[C++] 연산자 오버로딩 C++ 연산자 오버로딩 C++에는 클래스를 인자로 가지는 연산자를 오버로딩할 수 있다. 연산자 오버로딩은 인자가 하나이상이 클래스여야 한다.연산자 오버로딩의 방법으로는 세가지 방법이 있다. 1. 프렌드가 아닌 독립적으로 구현.2. 클래스의 멤버로 구현.3. 프렌드 함수로 구현. ※ 참고1. = , [], ->, () 연산자는 멤버로만 구현된다.2. 연산자 우선순위를 변경할 수 없다.3. 단항연산자를 이항연산자로 이항연산자를 단항연산자로 오버로딩할 수 없다. 1. 프렌드가 아닌 독립적으로 구현.return타입 operator 연산자(파라미터){구현}일반 함수 구현과 같고 파라미터는 call-by-value와 call-by-reference모두 가능하다.파라미터는 반드시 하나이상은 클래스가 포함되어야 한다...
[C++] .연산자와 ::연산자 C++ . 연산자와 :: 연산자 C++에서 클래스에서 사용되는 두 연산자 .연산자와 ::연산자는 모두 멤버변수가 어느 클래스에 속하는지를 결정하는 연산자이다. 차이점은 .연산자는 객체에 사용되고 ::연산자는 클래스에 사용된다. MyClass myclass; 가 정의되었고 MyClass내에 myFunction이 정의되었다고 하면 .연산자는 myclass.myFunction()으로 객체가 함수를 호출하는데 사용되고 ::연산자는 void MyClass::myFunction()으로 클래스를 정의할때에 사용되거나 static으로 구현된 함수를 클래스에서 호출하는데 사용된다. 자바에서는 .연산자와 ::연산자가 .연산자 하나로 구현되어 차이가 없지만 C++에서는 둘이 구분되어 있다. 자바에서 MyClass.myFun..