갓똥
나는야 프로그래머
갓똥
전체 방문자
오늘
어제
  • 분류 전체보기 (186)
    • 프로그래밍 (146)
      • 자바 (9)
      • 안드로이드 (2)
      • 유니티 (20)
      • C++ (38)
      • C# (56)
      • HTML (2)
      • 파이썬 (3)
      • 자료구조 (2)
      • 알고리즘 (0)
      • 문제풀이 (4)
      • 디자인 패턴 (7)
      • 카카오톡 봇 (1)
      • 엑셀 (1)
      • 기타 (1)
    • 게임 (21)
      • 테일즈위버 (0)
      • 카이로소프트 (1)
      • 순위 (19)
      • 기타 (1)
    • 일상 (13)
      • 카페 (1)
      • 방탈출 (12)
    • 기타 (6)
      • 웃긴자료 (5)

블로그 메뉴

  • 홈
  • 방명록

공지사항

인기 글

태그

  • 게임매출순위
  • c# delegate
  • 알고리즘
  • 유니티 그래프 그리기
  • 전세계 게임 매출
  • 강남 방탈출
  • C++ virtual
  • 유니티 그래프
  • C# 예외 처리
  • 롤 골드그래프
  • pc게임 순위
  • c# 코루틴
  • 자바
  • C++ 소멸자
  • C++ 상속
  • 게임 디자인 패턴
  • C# boxing
  • 유니티 골드그래프
  • 전세계게임매출순위
  • pc 게임 순위
  • c# coroutine
  • c# Thread
  • C++
  • Unity Graph
  • c# unboxing
  • 글로벌게임매출
  • 게임 매출 순위
  • 2020년 게임 매출
  • c# collection
  • 모바일 게임 순위

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
갓똥
프로그래밍/C++

[C++] 연산자 재정의 주의 사항

[C++] 연산자 재정의 주의 사항
프로그래밍/C++

[C++] 연산자 재정의 주의 사항

2019. 12. 14. 15:00
728x90
반응형

1. 연산자 재정의 문법 주의 사항

int operator+(int a, int b) {
    return a - b;
}
// 3 + 2 ?

Point operator+(const Point& p, int n) {
    // ...
}

// Point operator+(const Point& p, int n, double d) - error

// Point operator+(const Point& p, int n = 10) 
//     Point p2 = p1 + ;                        - error

Point p1;
Point p2 = p1 + 1;

  ① 인자가 모두 primitive 타입인 경우는 오버로딩 할 수 없다.

    => 만약 위와 같이 코드를 짜고 3+2를 하면 1이 나오게 된다?

 

  ② 다음의 연산자는 오버로딩 할 수 없다.

    .*   ::   ?:   sizeof   typeid

    static_cast   dynamic_cast   reinterpret_cast   const_cast

    . : C++20부터 오버로딩 가능

 

  ③ 멤버 함수로만 오버로딩 가능한 연산자 : =, (), [], ->

 

  ④ 새로운 연산자를 만들거나, 인자의 개수를 변경하거나, 연산자 우선순위를 변경할 수 없다.

 

  ⑤ 디폴트 파라미터를 사용할 수 없다.

 

  ⑥ 연산자 재정의에서 중요한 연산자들

    <<, ++, [], (), ->, =

728x90
반응형

'프로그래밍 > C++' 카테고리의 다른 글

[C++] 연산자 재정의 (operator overloading)  (0) 2019.12.14
[C++] 다중 상속 (multiple inheritance)  (0) 2019.12.03
[C++] RTTI (Run Time Type Information)  (0) 2019.12.02
[C++] 인터페이스 (interface)  (0) 2019.12.01
[C++] 추상 클래스 (abstract class)  (0) 2019.11.30
  • 1. 연산자 재정의 문법 주의 사항
'프로그래밍/C++' 카테고리의 다른 글
  • [C++] 연산자 재정의 (operator overloading)
  • [C++] 다중 상속 (multiple inheritance)
  • [C++] RTTI (Run Time Type Information)
  • [C++] 인터페이스 (interface)
갓똥
갓똥
공부하며 알아가는 내용을 정리해 봅니다.
나는야 프로그래머공부하며 알아가는 내용을 정리해 봅니다.

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.