전체 글 (71) 썸네일형 리스트형 [C++] 4-1 클래스의 상속 (inheritance) 클래스의 상속 클래스 상속(inheritance)이란 이미 정의되어 있는 클래스의 속성 (데이터 멤버, 멤버 함수)를 다른 클래스에게 넘겨주는 것을 말한다. 이때 자신의 속성을 다른 클래스에 넘겨주는 클래스를 base class 혹은 parent class라 부른다. 속성을 상속받는 클래스는 derived(파생) class 혹은 child class로 불린다. Parent class는 자신의 속성을 child class에게 넘겨줄 때 접근 지정자 public, private, protected를 사용해서 넘겨주게 된다. 접근 지정자는 상속의 유형을 결정하기 때문에 child class가 parent class의 멤버에 접근할 수 있는 범위는 접근 지정자에 따라 결정된다. 만약 접근 지정자를 지정하지 않으.. [C++] 3-5 프렌드 (friend) 함수 사용 이유 및 예제 프렌드 함수 프렌드 함수(friend function)는 클래스의 멤버 함수가 아니면서 클래스의 private 데이터 멤버에 접근할 때 사용하는 함수이다. 프로그래밍을 하다 보면 외부 함수에 특정 클래스의 private 데이터 멤버를 참조해야 하는 경우가 생긴다. 이때 외부 함수를 특정 클래스의 프렌드 함수로 선언하면 해당 클래스의 private 데이터 멤버들을 참조할 수 있다. 프렌드 함수를 사용하기 위해서는 함수의 원형 앞에 예약어 friend를 붙인다. 멤버 함수를 호출하면 그 멤버함수를 호출한 object의 시작 주소를 가리키는 포인터 this가 자동으로 전달되어 클래스 내에서는 데이터 멤버들을 직접 참조하는 것이 가능하다. 그러나 프렌드 함수는 this 포인터가 전달되지 않으므로 프렌드 함수 내.. [C++] 3-4 함수에 클래스 객체를 call by reference로 전달 클래스 객체를 참조자로 전달 Call by value방식에 의해 객체를 전달하는 경우, 그 객체의 복사본이 작성되어 함수에 전달한다. 이것은 새로운 객체가 생성된 것을 의미하며 호출 함수의 실행이 종료되면 객체의 복사본은 소멸한다. 따라서 call by value 방식으로 객체의 복사본이 생성되면 생성자 함수와 소멸자 함수가 자동으로 소멸되어야 한다. 하지만 call by value 방식에 의해 생성된 객체는 생성자 함수는 호출되지 않는다. 객체의 현재 상태를 함수에 그대로 전달할 필요가 있는데, 만일 생성자 함수가 다시 호출되면 원래 객체 상태로 변하기 때문이다. 단, 호출 함수의 실행이 종료되면 복사된 객체가 소멸되면서 소멸자 함수가 자동으로 호출된다. 프로그래밍을 하다 보면 call by value.. 이전 1 ··· 8 9 10 11 12 13 14 ··· 24 다음