프로그래밍/C++

const, static 멤버 변수,함수

우끼우끼몽키 2023. 10. 22. 23:17

const 멤버 변수

상수를 저장하는 변수이며, 생성과 동시에 초기화 리스트롤 이용해서 초기화되어야 한다.

class MyClass
{
private:
    const int a;
public:
    MyClass(int a) : a(a)
    {}
}

MyClass myclass(5);

 

 

static 멤버 변수

클래스 변수라고도 하며, 클래스의 객체들이 공유하는 변수이다.

메모리에 한번만 할당되어 공유되며, 별도 정의를 통해 초기화 해야한다.

class MyClass
{
private:
    static int a;
}

int MyClass::a = 0;

 

const static 멤버 변수

클래스의 객체들이 공유하는 상수이다.

이니셜라이저가 아닌 다음과 같이 선언과 동시 초기화가 가능하다.

class MyClass
{
public:
    const static int a = 1;
    const static int b = 2;
}

 

const 함수

해당 함수 내에서는 멤버 변수의 데이터 변경을 하지 않겠다는 뜻이다.

class MyClass
{
public:
    void int Function(int a) const;
}

 

static 함수

클래스 함수라고도 하며, 클래스의 객체들이 공유하는 함수이다.

public으로 선언되면 클래스 이름으로 호출이 가능하다.

static 멤버함수 내에서는 static 멤버변수,함수만 접근이 가능하다.

class MyClass
{
public:
    static void Function(int a);
}

MyClass::Function(1);

 

'프로그래밍 > C++' 카테고리의 다른 글

string 사용법 정리  (0) 2023.11.13
[STL] Vector 사용법 정리  (0) 2023.10.30
Class 와 struct 차이  (0) 2023.10.22
참조자  (0) 2023.10.22
C++ 파일분할  (0) 2023.10.08