본문 바로가기
  • 쓸쓸한 개발자의 공부방

Class2

[C++] Class : 멤버 초기화 리스트 (member initializer lists) 멤버 초기화 리스트 (member initializer lists) 생성자 괄호 ( ) 뒤에 콜론 (:) 을 표기하고 멤버를 초기화 하는 것 Point( int a, int b) : x(a), y(b) { } 대입 방식이 아닌 초기화 방식이다. 멤버 초기화 리스트를 사용하는 방향이 성능면에서 더 좋다. 클래스 선언부 구현부가 분리되어 있을 때, 초기화 리스트는 구현부에 작성한다. #include class Point { int x; int y; public: Point( int a, int b) : x(a), y(b) // 초기화 { // x = a; // 대입 // y = b; } }; int main() { Point p(1, 2); int a = 0; // 초기화. 생성자 호출 int b; // 생.. 2021. 8. 19.
[C++] 객체지향 : 접근지정자 private, public, friend 접근지정자 private / public - 사용자는 내부 멤버 데이터 구조에 대해 굳이 알 필요가 없다. - 멤버 함수를 통해서만 객체 상태 변경이 가능하도록 해서 객체를 안전하게 유지한다. 이를 캡슐화라 말한다. - setter / getter : 멤버 데이터 접근을 위해 함드는 함수를 나타내는 용어, private 멤버 데이타를 선언하고 setter/getter로 접근하는 것이 일반적 자전거의 기어는 현실 세계에서 항상 존재함. 프로그램에서 잘못된 기어 생성을 막아야 한다. gear의 값이 마이너스 값이거나 0 인 경우는 값 셋팅이 되지 않도록 하는 조건을 만들어 넣을 수 있다. #include class Bike { public: void changeGear(int n) { if ( n < 1 ).. 2021. 8. 18.