목록전체 글 (71)
영넌 개발로그

Inheritance 상속? 부모로부터 물려받는 것이다. 코드를 간결하게 짤 수 있다는 장점이 있다. 복사붙여넣기와 같은 개념이지만, 코드가 잘못되어 수정이 필요한 경우 번거로움이 있기 때문에 상속을 사용하는 것이 좋다. 하지만 아무리 자식이라도 부모의 private한 것은 건들 수 없다. 그래서 자식 직접적으로 변수를 접근하도록 만들어 주고 싶다면, 접근 지정자를 protected로 지정해주어야 한다. protected는 class 외부에서는 private과 같은 기능을 하고, 자기 자식(상속 받은)한테는 public과 같은 기능을 한다. 상속 받을 때 public을 적지 않고 class 자식이름 : 부모이름 으로 적으면 부모로부터 받아온 모든 변수,메소드를 private으로 묶어버린다. 즉, 클래스 ..

Friend function class 내에서 선언되함수가 아닌 외부 함수를 친구처럼 사용하겠다는 의미이다. 이는 private에 대한 개념을 무너뜨리는 것과 같다. read, write가 가능하다. //2차원 좌표를 표시하는 클래스 class Coord_2D { friend void outSideShowCoord(const Coord_2D& _c); private: int x; int y; public: Coord_2D(int _x, int _y): x(_x),y(_y){} void showCoord(); }; void Coord_2D::showCoord() { cout

Operator overloading operator는 산술 연산자(+, -, *, /), 비교 연산자(==, !=), 증감 연산자(++, --) 등을 의미하고, overloading은 원래 뜻에 새로운 뜻을 더해준다는 의미이다. 따라서 operator overloading은 객체를 메소드 없이 연산자를 통해 바로 계산을 할 수 있도록 만들어 주는 방법이다. 사용방법 : " operator 연산자 "를 함수 이름으로 사용하여 만든다. 산술 연산자 벡터 더하기를 하고 싶다고 가정을 해보자 우선 아래 코드는 2차원 좌표를 표시하는 클래스를 간단하게 생성하고 a와 b 객체가 잘 만들어졌음을 확인할 수 있다. #include using namespace std; //2차원 좌표를 표시하는 클래스 class Co..