[열혈강의C++]3장 클래스의 기본

c에서는 자료형데이터를 struct에 담아서 썼는데
c++에서는 class라는 이름하에 자료형 데이터 뿐만아니라 함수까지도 포함시킨다

이렇게 하면 현실세계의 객체를 그대로 가져다 쓸수 있다고 한다
왜냐면 가령 사람을 하나의 객체라고 생각하면
팔다리 기타 장기들을 데이터라 치면 팔의 기능,다리의 기능을 함수라고 본다면
둘다 포함 되는게 클래스라고 한다

이것을 초기화는 과정을 인스턴스화라고 한다
class에서는
public,protected,prvite라는 세가지 보호기능이있다
c++에서 struct는 기본이 public이고
class는 private 선언이된다.

inline이라는 키워드...
보통 밑에와 같은 소스에서 함수를 class에 분리를 시켜버리면
c++은 원래 class안에 있는 멤버객체들을 알아서 inline화(전처리기에 매크로함수와 동일)시키거나
아니면 원래코드대로 컴파일하는데 class와 분리하면 그기능을 못쓰게 된다
그래서 함수앞에 inline이라고 붙여주면됨

//Door.h
#include <iostream>

using std::cout;
using std::endl;

const int OPEN = 1;
const int CLOSE = 2;

class Door{
private:
 int state;

public:
 void Open();
 void Close();
 void ShowState();
};
//Main.cpp

#include "Door.h"

int main()
{
 Door d;
 d.Open();
 d.ShowState();

 return 0;
}
//Door.cpp

#include "Door.h"

void Door::Open(){
 state=OPEN;
}
void Door::Close(){
 state=CLOSE;
}

void Door::ShowState()
{
 cout<<"현재 문의 상태 : "<< Door::state << endl;
}

이 글과 관련있는 글을 자동검색한 결과입니다 [?]

by 홍텐 | 2008/04/13 23:06 | c++ | 트랙백

트랙백 주소 : http://HongTen.egloos.com/tb/1609826
☞ 내 이글루에 이 글과 관련된 글 쓰기 (트랙백 보내기) [도움말]
※ 로그인 사용자만 덧글을 남길 수 있습니다.

◀ 이전 페이지다음 페이지 ▶