콘텐츠로 이동

클래스 형식 (Class Format)

public , protected 및 private 순서의 섹션은 각각 한 칸씩 들여쓰기됩니다.

클래스 정의의 기본 형식은 다음과 같습니다(주석이 없습니다. 어떤 주석이 필요한지에 대한 논의는 클래스 주석을 참조하세요).

class MyClass : public OtherClass {
 public:      // Note the 1 space indent!
  MyClass();  // Regular 2 space indent.
  explicit MyClass(int var);
  MyClass(const MyClass& other);
  MyClass& operator=(const MyClass& other);
  ~MyClass() {}

  void SomeFunction();
  void SomeFunctionThatDoesNothing() {}

  void set_some_var(int var) { some_var_ = var; }
  int some_var() const { return some_var_; }

 private:
  bool SomeInternalFunction();

  int some_var_;
  int some_other_var_;
};

참고 사항:

  • 모든 기본 클래스 이름은 하위 클래스 이름과 같은 줄에 있어야 하며 80열 제한이 적용됩니다.
  • public: , protected: 및 private: 키워드는 한 칸 들여쓰기되어야 합니다.
  • 첫 번째 인스턴스를 제외하고 이러한 키워드 앞에는 빈 줄이 와야 합니다. 이 규칙은 소규모 클래스에서는 선택 사항입니다.
  • 이러한 키워드 뒤에 빈 줄을 두지 마십시오.
  • 공개 섹션이 먼저 오고, 보호 섹션이 그 뒤를 따르고, 마지막으로 비공개 섹션이 와야 합니다.
  • 각 섹션 내에서 선언 순서 지정에 대한 규칙은 선언 순서를 참조하세요.

이해하기 쉽게 설명하기

핵심: 접근 지정자는 1칸 들여쓰기, public→protected→private 순

class MyClass : public OtherClass {
 public:                                   // 1칸 들여쓰기!
  MyClass();                               // 멤버는 2칸
  explicit MyClass(int var);

  void set_some_var(int var) { some_var_ = var; }
  int some_var() const { return some_var_; }

 private:
  int some_var_;
};

규칙

  • 기본 클래스 이름은 하위 클래스 이름과 같은 줄에(80열 제한 적용).
  • public:/protected:/private:1칸 들여쓰기.
  • 이 키워드 에는 빈 줄(첫 번째 제외, 소규모 클래스는 선택). 에는 빈 줄을 두지 마세요.
  • publicprotectedprivate 순서. 각 섹션 내 선언 순서는 "선언 순서" 참조.