C++ 4.정적멤버 static

-정적멤버 static

 

//Student.h

#pragma once

#include <iostream>

 

class Student

{

        int num;

        static int last_num; //정적 멤버 필드

public:

        Student(void);

        int GetNum();

        static int GetLastNum(); //정적 멤버 메소드

};

 

//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

#include "Student.h"

using namespace std;

 

int main(void)

{

        cout<<"현재 학생 :"<<Student::GetLastNum()<<endl;

        Student *stu = new Student();

        cout<<"학생번호:"<<stu->GetNum()<<endl;

 

        cout<<"현재 학생 :"<<Student::GetLastNum()<<endl;

 

        Student *stu2 = new Student();

        cout<<"학생번호:"<<stu2->GetNum()<<endl;

 

        delete stu;

        delete stu2;

 

        for(int i = 0 ; i < 15; i++)

        {

               cout<<"현재 학생 :"<<Student::GetLastNum()<<endl;

                stu = new Student();

               cout<<"학생 번호:"<<stu->GetNum()<<endl;

               delete stu;

        }

        return 0;

}

 

728x90

'C++ > 설명' 카테고리의 다른 글

C++ 6.접근 지정자  (0) 2016.04.19
C++ 5.정적 클래스  (0) 2016.04.19
C++ 3. 특별한 멤버 this  (0) 2016.04.19
C++ 2.캡슐화  (0) 2016.04.19
C++ 1. 입출력 및 기본 문법과 관련된 예제  (0) 2016.04.19

이 글을 공유하기

댓글

Designed by JB FACTORY