cpp_복사생성자 - 8BitsCoding/RobotMentor GitHub Wiki

cpp_copy

  • 암시적 복사 생성자 : 컴파일러가 기본적으로 매개변수 복사정도는 해준다. 단, 얕은 복사로 복사 수행(값을 복사)
  • 깊은 복사 생성자 예시
ClassRecord::ClassRecord(const int* scores, int count) : mCount(count) {
    mScores = new int[mCount];
    memcpy(mSores, scores, mCount*sizeof(int));
}
  • 메서드 오버로딩 : 함수의 매개변수에 따라서 같은 이름의 함수를 여러개 생성가능
  • 연산자 오버로딩
class Vector {
public:
    Vector operator+(const Vector& rhs) const;
private:
    int mX;
    int mY;
};
Vector Vector::operator+(const Vector& rhs) const {
    Vector sum;
    sum.mX = mX + rhs.mx;
    sum.mY = mY + rhs.my;
    return sum;
}