본문 바로가기
C++

[C++] 클래스 안에서의 명명 규칙

by 유노brain 2023. 10. 27.
반응형

클래스 이름은 파스칼(Pascal) 표기법을 사용해라

클래스 이름의 경우 파스칼 표기법으로 나타냅니다.

 

Bad
class Cat {...};
class Person {...};
class SeoulCity{...};

 

Good
class cat {...};
class PERSON {...};
class seoul_city{...};

 

 

멤버 변수의 이름은 뱀(Snake) 표기법을 사용해라

뱀(Snake) 표기법이란 "_"를 사용하는 것을 말합니다.

이 명명규칙은 지역 변수와 멤버변수를 구별하는데 사용합니다.

 

Bad
class Person{
    int Age;
    std::string home_address;
};
Good
class Person{
    int age_;
    std::string home_address_;
};

 

 

public부터 작성하여 private로 마무리해라

멤버필드에서는 public부터 작성 후 마지막으로 private를 작성해야 합니다.

이것은 클래스 밖에서 접근할 때 빠르게 알 수 있게 만듭니다.

 

Bad
class Car1{
    private:
    Car1(std::string name) : name_(name),doors_{Door(1),Door(2)} {}
    
    protected:
    int speedup(){}

    public:
    std::string name_;
    Door doors_[4];
    
};
Good
class Car1{
    public:
    Car1(std::string name) : name_(name),doors_{Door(1),Door(2)} {}
    
    protected:
    int speedup(){}

    private:
    std::string name_;
    Door doors_[4];
    
};

 

 

클래스 정의와 선언을 분리해라

animal.h
#ifndef _ANIMAL_H_
#define _ANIMAL_H_

#include <iostream>
#include <string>

class Animal{
    Animal(std::string name); //멤버 함수 선언
    void set_name(std::string name); //멤버 함수 선언
    std::string name(); //멤버 함수 선언



    private:
    std::string name_;
};


#endif //ANIMAL_H_
animal.cc
#include <iostream>
#include <string>
#include "animal.h"

Animal::Animal(std::string name) : name_(name) {}  //멤버 함수 정의
void Animal::set_name(std::string name) { name_ = name; } //멤버 함수 정의
std::string Animal::name(){return name_;} //멤버 함수 정의
반응형

댓글