반응형
//************************************************* // static 키워드 !! //************************************************* #includeusing namespace std; // static 멤버 변수 : 클래스당 하나의 변수만 필요한 경우 !! // static 멤버 함수 class KY_Student { public: static char SchoolName[100]; //학교이름 int m_age; }; // static 멤버 변수는 반드시 외부에서 초기화가 되어야 한다!! char KY_Student::SchoolName[100] = "건양대학교"; void main() { KY_Student s[5]; // 클래스 이름을 통해 접근 !! // static멤버변수는 객체마다 할당되는 것아리나 클래스당 1개가 할당 !! // 객체가 아닌 클래스의 이름으로 접근가능하다 !! cout << KY_Student::SchoolName << endl; }
//***************************************************** // static 멤버 함수와 함수의 활용 !! //***************************************************** #includeusing namespace std; // 마린 !! class Marin { public: int m_hp; //체력 const static int m_price; //가격 static int m_att; // 공격력 static int m_def; // 방어력 public : // setter/getter int getHp() const { return m_hp; } int getPrice() const { return m_price; } int getAtt() const { return m_att; } int getDef() const { return m_def;} // static멤버 함수안에서는 static멤버 변수만 접근 할수 있다 !! static int Attup(){ return m_att++; m_hp++; } static int Defup(){ return m_def++; } Marin() // : m_price(50) //const멤버 초기화 { m_hp = 40; m_att = 1; m_def = 1; } void ShowMarinInfo() const { cout << "가격 : " << m_price << endl; cout << "체력 : " << m_hp << endl; cout << "공격력 : " << m_att << endl; } }; // 외부에서 초기화 !! const int Marin::m_price = 50; int Marin::m_att = 1; int Marin::m_def = 1; void main() { Marin::Attup(); Marin::Defup(); }
'C, C++' 카테고리의 다른 글
[C++] this 이해 (0) | 2014.11.18 |
---|---|
[C++] 캡슐화 (0) | 2014.11.18 |
[C++] const 멤버의 이해, 활용, 사용 (0) | 2014.11.18 |
[C++] 추상화 (0) | 2014.11.18 |
[C++] 생성자 (0) | 2014.11.18 |