-캡슐화 개요
#include <iostream>
#include <string>
using namespace std;
class Unit //class 대신 struct 써도 오류는 안난다. 접근 지정을 최소하 하자!!!!!!!!!!!
{
//클래스의 디폴트 가시성은 private
//구조체의 디폴트 가시성은 public
int num;
string name;
int hp;
public://클래스 외부에서도 접근 가능할 수 있게 접근 지정사 설정
Unit(int _num, string _name)
{
num = _num;
name = _name;
hp = 100;
}
void Train(int hour)//멤버 메서드
{
cout<<num<<"번 유닛("<<name<<")훈련하다."<<endl;
if(hp + hour > 200)
{
hp = 200;
}
else
{
hp += hour;
}
}
void View()
{
cout<<num<<"번 유닛 이름:"<<name<<", 체력:"<<hp<<endl;
}
};
int main()
{
Unit unit(3,"홍길동");
unit.Train(5);
unit.View();
//unit.hp += 1000; //가시성을 차단하여 접근할 수 없음
unit.View();
int *pi = new int;
*pi = 9;
delete pi;
int n;
cin >> n;
int *darr = new int[n]; //배열 스러운거지 배열 생성자 아니다.
for(int i = 0; i < n; i++)
{
darr[i] = i+1;
}
delete[] darr; //배열스럽게 소멸해야 한다.
Unit *unit2 = new Unit(3,"홍길동");
unit2->View();
delete unit2;
return 0;
}
'C++ > 설명' 카테고리의 다른 글
C++ 6.접근 지정자 (0) | 2016.04.19 |
---|---|
C++ 5.정적 클래스 (0) | 2016.04.19 |
C++ 4.정적멤버 static (0) | 2016.04.19 |
C++ 3. 특별한 멤버 this (0) | 2016.04.19 |
C++ 1. 입출력 및 기본 문법과 관련된 예제 (0) | 2016.04.19 |
이 글을 공유하기