c++에서 구조체와 클래스의 차이는 무엇일까?

구조체는 기본접근자가 public이고 클래스는 기본접근자가 private이다.

즉,
struct temp
{
int       a;
.....
};
일때는 int a가 public처럼 외부에서 접근 가능하지만,

class temp
{
int      a;
public:
int     c;
};
처럼  int a는 기본이 private라는 소리이며,
 public이라는 접근자를 적어줘야 int c가 public으로 인식되서 외부에서 접근이 가능하다는 뜻이다.

이는 정보은닉과도 관련이 있........나?
그것까지는 생각 안해봤음

일단 분명한것은 이것임. 기본접근자에 대한 차이

"pointer"

골때리는 단어다. 사용하기 따라 쉽기도 하면서 어렵다.
시작하는 사람에게는 두려운 단어이며, 아는 사람에게는 고마운 단어일 수도 있다.

포인터를 간단히 말하면,
'가리키는것' 이라고 말할수도 있지만,
그렇게 간단히 말하기엔 쓰이는곳이 너무나 많고 중요하다고 생각한다.

포인터는 기본적으로 모두 4바이트이다.(32비트 기준, 64비트는 두배)
그리고 가리키는것, 즉 어느 집의 주소다.

집이 판자촌이든, 아파트든, 정원딸린주택이든, 주소는 다 똑같은 방식이다.
**시**구**동**번지. 요즘엔 **시**구**로 *** 이런식이다.

즉, 포인터는 이런것들이다.
int* a는 a를 가리키는 int형 포인트이다. a를 가보면 int형이라는 소리.
char* name는 name변수를 가리키는 문자형 포인터이다. name을 가보면 char라는 소리

문제는 포인터 하나 정도는 어느정도 공부하면 대충 감이 온다.

그러나......

더블 포인터라는것이 나올수도 있다.
이는 만들기 나름이다. 이중포인터(더블포인터), 삼중, 사중 만들수는 있다. 삼중부터 잘 안쓰여서 그렇지.

더블 포인터는 어느것을 가리키는 포인터를 가리키는 포인터이다.

말장난 시작됐다.
2001/06/10

1. 클래스, 접근자 ' private: ' 꼭 입력(생략하지 말것)
2. 클래스, 생성자가 ' Public: ' 맨 처음매서드로 위치 변경
3. 클래스, 맴버함수는 외부정의하라
4. 메서드마다 한줄씩 띄워서 구분
5. 80 col. 이 넘지않게 작성
6. Visual assist X 활용
7. 헤더파일을 이용한 파일의 분할 -> 종속성 제거차원(전방선언) (다음개선시 알려줌)

+ Recent posts