프로그래밍과 잡담

[C++] Class 본문

프로그래밍/C,C++, Win32Api

[C++] Class

크레온 2010. 1. 13. 17:17
C하고 C++의 가장 큰 차이점.. 객체지향이란 점이다..

객체지향이 뭐냐면.. 구글 검색 인터넷에 널린게 객체지향의 대한 설명이기 때문에.

 고로 설명은 생략..

c++에서는 class 라는걸 사용한다.

가장 기본적인 구조는 아래와 같다.

가장 기본적이다.. 고로 아무런 기능도 없다.

---------------------------
class MyClass
{
};
---------------------------

그래서 더 추가를 해보자..

--------------------------------
class MyClass
{

public:
     ///생성자
     MyClass();
     //소멸자
     ~MyClass();

protected:
    void print();

private:
     //맴버변수
     int a;
};
-------------------------------

위에 처럼 클래스가 있다.
public , protected, private 라는 게 있다.

public 아래있는 메소드나 변수들은  모든 클래스에 접근이 가능하다.
protected는 상속을 받은 클래스만 접근이 가능하다.
private는 그 클래스만 사용이 가능하다.

 접근자
  메소드 와 변수의 접근
 public
  모든 클래스가 접근 가능
 protected   상속 받은  클래스만 가능
 privated   자신만 사용 할 수 있음



그리고 보면 생성자와 소멸자라는게 있다..

주석을 달아 놓은 부분인데..

클래스 이름하고 메소드 이름이 같은게 생성자다.

생성자의 역활을 맴버변수의 할당과 초기화를 담당한다.

생성자가 호출되는 시기는 new 를 할때 생성자가 호출된다.

MyClass*  my = new  MyClass();

이런식으로 할때 호출 된다.

그리고 소멸자는.. c++에서는 중요하다..

자바같은 갈비지 컬랙터가 있는 언어의 경우는 그다지 필요하지 않지만.. c++ 에는 그런 기능이 없으므로 소멸자가 필요하다.

소멸자란..  맴버변수의 메모리 할당 해제를 할 때 많이 사용된다. 특히 사용자 동적할당한 경우에는 반드시 해제를 해주어야한다.

소멸자가 호출되는 시기는 클래스가 메모리 해체를 할때 일어난다. delete를 사용 하면 일어난다.

delete my;



   생성자  소멸자

 호출 시기
   메모리 할당할 때
  메모리 해체할때

 기능   맴버변수의 메모리 할당 및 초기화
 맴버변수의 메모리 해제



반응형

'프로그래밍 > C,C++, Win32Api' 카테고리의 다른 글

[JAVA,C++] 인터페이스..  (0) 2012.07.01
[C++]템플릿 만들어보기..  (0) 2010.04.09
재귀 함수.  (0) 2009.12.24
[자료구조]이중 연결리스트  (0) 2009.10.02
[자료구조] 단순 연결 리스트  (0) 2009.09.22
Comments