프로그래밍/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);