본문 바로가기

프렌드

(2)
[C++] 연산자 오버로딩 C++ 연산자 오버로딩 C++에는 클래스를 인자로 가지는 연산자를 오버로딩할 수 있다. 연산자 오버로딩은 인자가 하나이상이 클래스여야 한다.연산자 오버로딩의 방법으로는 세가지 방법이 있다. 1. 프렌드가 아닌 독립적으로 구현.2. 클래스의 멤버로 구현.3. 프렌드 함수로 구현. ※ 참고1. = , [], ->, () 연산자는 멤버로만 구현된다.2. 연산자 우선순위를 변경할 수 없다.3. 단항연산자를 이항연산자로 이항연산자를 단항연산자로 오버로딩할 수 없다. 1. 프렌드가 아닌 독립적으로 구현.return타입 operator 연산자(파라미터){구현}일반 함수 구현과 같고 파라미터는 call-by-value와 call-by-reference모두 가능하다.파라미터는 반드시 하나이상은 클래스가 포함되어야 한다...
[C++] 프렌드 함수 C++ 프렌드 함수 프렌드 함수란 클래스의 멤버 함수는 아니지만 클래스에 friend 함수라고 선언을 해줌으로써 클래스의 멤버 함수처럼 private 멤버에 접근할 수 있는 함수이다. 일반함수뿐만 아니라 연산자 오버로딩또한 프렌드 함수로 구현할 수 있다.프렌드 함수는 하나 이상의 클래스와 프렌드 함수가 될 수 있다. 프렌드 함수는 클래스 정의부분에 friend 키워드를 사용하여 정의하고 실제 구현부분에서는 키워드를 사용하지않고 일반 함수와 똑같이 구현한다. 그림과 같이 MyClass의 멤버 함수가 아닌 friendFunction을 friend함수로 선언해줌으로써 MyClass의 멤버변수인 member를 접근할 수 있게 되었다.friendFunction함수는 MyClass의 멤버 함수가 아니기때문에 .연산..