일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 딥러닝 공부
- 딥러닝 스터디
- 컴퓨터 비전
- 미디언 필터링
- c++
- c언어
- pytorch
- object detection
- TensorFlow
- c언어 정리
- 가우시안 필터링
- Pytorch Lecture
- 딥러닝
- C언어 공부
- 모두의 딥러닝
- 골빈해커
- c++공부
- 영상처리
- 파이토치
- 해리스 코너 검출
- 파이토치 강의 정리
- MFC 프로그래밍
- pytorch zero to all
- 케라스 정리
- matlab 영상처리
- 김성훈 교수님 PyTorch
- tensorflow 예제
- 팀프로젝트
- 파이토치 김성훈 교수님 강의 정리
- 모두의 딥러닝 예제
Archives
- Today
- Total
ComputerVision Jack
[C++프로그래밍 Chapter10] 본문
반응형
[연산자 오버로딩 이해]
Sample operator+(const Sample & ref){ }
operator 키워드와 연산자를 묶어서 함수의 이름을 정의하면
함수의 이름을 통하거나 연산자를 통하여 함수를 호출 할 수 있게 한다.
연산을 할때, 피연산자가 객체일 경우, 클래스 안에 정의된 연산자 재정의를 통하여 함수를 불러온다.
이러한 연산자 재정의 함수는 const로 선언하지 않는다.
연산자 오버로딩
- 멤버 함수에 의한 연산자 오버로딩 - 객체.operator+(객체)
- 전역 함수에 의한 연산자 오버로딩 - operator+(객체, 객체)
연산자 오버로딩 주의사항
- 의도를 벗어난 연산자 오버로딩은 좋지 않다.
- 연산자의 우선순위와 결합성은 바뀌지 않는다
- 매개변수의 디폴트 값 설정 불가하다
- 순수 기능은 보존한다.
[단항 연산자 오버로딩]
단항 연산자에 증가, 감소 연산자가 있다.
이들 또한 연산자오버로딩이 가능하다.
단항이기 때문에 객체 자신에 대한 연산을 수행한다. 따라서 반환형으로
*this를 사용하여 반환할 수 있다.
[교환 법칙 문제 해결]
교환 법칙은 전역함수에 의해 만들어 질 수 있다.
cout, cin, endl에 사용되는 << >>연산자 또한 연산자 재정의를 통하여 구현되어 있다.
cout은 outstream 클래스 객체이다.
cin는 istream클래스 객체이다.
반응형
'Programming Language > C++ Programming' 카테고리의 다른 글
[C++프로그래밍 Chapter12] (0) | 2020.02.03 |
---|---|
[C++프로그래밍 Chapter11] (0) | 2020.02.01 |
[C++프로그래밍 Chapter9] (0) | 2020.01.30 |
[C++프로그래밍 Chapter8] (0) | 2020.01.29 |
[C++프로그래밍 Chapter7] (1) | 2020.01.28 |
Comments