오버로딩
괄호 연산자 오버로딩
괄호 연산자 오버로딩
2020.11.12//function obj #include using namespace std; class AccuMulator { private: int m_counter = 0; public: int operator() (int i) { return (m_counter += i); } }; int main() { AccuMulator acc; cout
c++ 첨자연산자 오버로딩
c++ 첨자연산자 오버로딩
2020.11.12#include #include using namespace std; class IntList { private: int m_list[10]{ 0 }; public: // reference로 받는이유 값을 읽을수도 있고 값을 바꿀수도 있게하려고 // 항상 주소를 가지고 있는 lvalue가 들어와야 하기때문에 int& operator [] (const int index) { // 디버깅으로 체크하기 쉽게 하고 퍼포먼스를 높이기 위해 assert(index >= 0); assert(index < 10); return m_list[index]; } const int& operator [] (const int index) const { return m_list[index]; } }; int main() { In..
증감연산자 오버로딩
증감연산자 오버로딩
2020.11.12#include using namespace std; class Digit { private: int m_digit; public: Digit(int digit = 0) : m_digit(digit) {} // prefix 전위형 Digit& operator ++ () { ++m_digit; return *this; } // post 일경우 더미로 아무거나 넣어준다. Digit operator ++ (int) { Digit temp(m_digit); ++(*this); return temp; } friend ostream& operator
c++ class 와 const
c++ class 와 const
2020.10.28#include #include using namespace std; class Something { public: int m_value = 0; Something(const Something& st_in) { m_value = st_in.m_value; cout