Page 100

클래스 정의 끝에 세미콜론을 빠뜨리면 컴파일러는 심각한 에러가 발생했다는 메시지를 잔뜩 출력하는데, 그 내용은 대부분 실제 원인과 상관없어 보일 수 있다. 클래스 정의를 작성한 파일의 이름은 주로 클래스 이름과 똑같이 짓는다. 예를 들어 Spreadsh eetCell 클래스 정의 파일은 SpreadsheetCell.h 파일에 저장한다. 반드시 지켜야할 규칙이

아니므로 원하는 이름으로 얼마든지 지정할 수 있다.

1 클래스 멤버 클래스는 여러 개의 멤버 member 를 가질 수 있다. 멤버는 메서드, 생성자, 소멸자와 같은 함수 (멤버 함수 member function )일 수도 있고, 열거형, 타입 앨리어스, 중첩 클래스와 같은 변수(멤버 변수 member variable )일 수도 있다. 멤버 변수를 데이터 멤버라고도 부른다. 앞의 코드에서 SpreadsheetCell 클래스에서 지원하는 메서드를 다음과 같이 선언했다. 형식 은 함수 프로토타입(함수 선언)과 같다. void setValue(double inValue); double getValue() const;

1장에서 설명했듯이 객체를 변경하지 않는 멤버 함수는 항상 const로 선언하는 것이 바람직하다. 앞의 코드에서 클래스의 데이터 멤버를 다음과 같이 선언했다. 형식은 변수 선언문과 같다. double mValue;

클래스는 멤버 함수와 이들이 사용할 데이터 멤버를 정의한다. 이러한 멤버는 그 클래스에 대한 인스턴스인 객체 단위로 적용된다. 단, 9장에서 설명하는 정적 멤버 static member 는 예외적으로 클 래스 단위로 적용된다. 클래스는 개념을 정의하고 객체는 클래스의 실체를 정의한다. 따라서 객 체마다 mValue 변수의 값을 따로 갖는다. 멤버 함수의 구현 코드는 모든 객체가 공유한다. 클래 스가 가질 수 있는 멤버 함수와 데이터 멤버수에는 제한 없다. 또한 데이터 멤버의 이름과 멤버 함수의 이름이 같아도 된다.

2 접근 제어 클래스의 각 멤버는 세 가지 접근 (제어) 제한자/지정자 access (control ) specifier 인 public, protected, private 중 하나로 지정한다. 한 번 지정된 접근 제한자는 다른 지정자로 변경하기 전까지 모

312 3부 전문가답게 C++ 코딩하기

Profile for 한빛미디어

전문가를 위한 C++ (개정4판) - 맛보기  

『전문가를 위한 C++』(개정4판)은 새로 추가된 기능과 관련 도구를 비롯해 C++에 대한 모든 내용을 코드와 솔루션 위주로 소개한다. 저자는 실전 프로그래밍에 적용할 수 있는 현실적인 기법을 다양하게 소개하였으며, 본 교재는 C++를 더 깊이 이해하...

전문가를 위한 C++ (개정4판) - 맛보기  

『전문가를 위한 C++』(개정4판)은 새로 추가된 기능과 관련 도구를 비롯해 C++에 대한 모든 내용을 코드와 솔루션 위주로 소개한다. 저자는 실전 프로그래밍에 적용할 수 있는 현실적인 기법을 다양하게 소개하였으며, 본 교재는 C++를 더 깊이 이해하...

Advertisement