C++/Overloading
2021. 3. 16. 00:26
첨자 연산자 오버로딩 (Subscript Operator Overloading)
[]
(subscript operator) 내부에 숫자 뿐만 아니라 문자 등 다양한 자료형이 들어갈 수 있다.
예제
#include <iostream>
class IntList
{
int list_[10];
public:
int& operator [] (const int index)
{
return list_[index];
}
};
int main()
{
using namespace std;
IntList my_list;
my_list[3] = 1;
cout << my_list[3] << endl;
my_list[3] = 10;
cout << my_list[3] << endl;
}
/* stdout
1
10
*/
const
를 사용할 경우#include <iostream> class IntList { int list_[10] = { 0, 1, 2, 3, 4, 5 }; public: int& operator [] (const int index) { return list_[index]; } const int& operator [] (const int index) const { return list_[index]; } }; int main() { using namespace std; const IntList my_list; cout << my_list[3] << endl; } /* stdout 3 */
'C++ > Overloading' 카테고리의 다른 글
C++ 형변환 오버로딩 (Typecasts Overloading) (0) | 2021.03.16 |
---|---|
C++ 괄호 연산자 오버로딩 (Parenthesis Operator Overloading) (0) | 2021.03.16 |
C++ 증감 연산자 오버로딩 (Increment and Decrement Operator Overloading) (0) | 2021.03.16 |
C++ 비교 연산자 오버로딩 (Comparison Operator Overloading) (0) | 2021.03.16 |
C++ 단항 연산자 오버로딩 (Unary Operator Overloading) (0) | 2021.03.16 |