학생 클래스(학생 번호 순차 부여, 정적 멤버) [디딤돌 C++]
▷Student.h
//Student.h
#pragma once
class Student
{
int num;
static int last_num; //정적 멤버 필드
public:
Student(void);
int GetNum();
static int GetLastNum(); //정적 멤버 메서드
};
▷Student.cpp
//Student.cpp
#include "Student.h"
int Student::last_num; //static 멤버 필드는 멤버 필드 선언을 해야 함, 선언문에서 static 키워드 사용 안 함
Student::Student(void)
{
last_num++;
num = last_num;
}
int Student::GetNum()
{
return num;
}
int Student::GetLastNum() //static 멤서 메서드 구현 정의에서는 static 키워드 사용 안 함
{
return last_num;
}
▷Program.cpp
//정적 멤버
//Program.cpp
#include <iostream>
using namespace std;
#include "Student.h"
int main()
{
cout<<"현재 학생 수:"<<Student::GetLastNum()<<endl;
Student *stu = new Student();
cout<<"학생번호:"<<stu->GetNum()<<endl;
cout<<"현재 학생 수:"<<Student::GetLastNum()<<endl;
Student *stu2 = new Student();
cout<<"학생번호:"<<stu->GetNum()<<endl;
delete stu;
delete stu2;
return 0;
}
* 디딤돌 C++ 17. 정적 멤버에서
'C++ > 디딤돌 C++' 카테고리의 다른 글
특별한 멤버 this [디딤돌 C++] (0) | 2016.04.14 |
---|---|
학생 클래스 (상수화 멤버) [디딤돌 C++] (0) | 2016.04.14 |
깊은 복사 [디딤돌 C++] (0) | 2016.04.14 |
복사 생성자가 필요하지만 정의하지 않았을 때 [디딤돌 C++] (0) | 2016.04.14 |
학생 클래스 (생성자 중복 정의) [디딤돌 C++] (0) | 2016.04.14 |