티스토리 뷰

struct (구조체)

int main()
{
	struct Point
	{
		int x;
		int y;
	};
	
	Point p1 = {30, 50};
	Point p2;
	
	p2 = p1;
	
	return 0;
}

위의 예제를 보면 Point라는 구조체를 정의한것을 볼 수 있다.


특징

- 구조체의 초기화는 배열을 초기화하던 방법과 비슷한 방법을 사용해서 할 수 있다.
- 점(dot)을 사용해서 멤버에 접근한다.
- 구조체를 정의하고 나서 마지막에 꼭 세미콜론(;)을 붙여야한다.



class

class Point
{
public :
	int x, y;	// 멤버 변수
	
	Point();	// 생성자
};

Point::Point()
{
	x = 0;
	y = 0;
}

int main()
{	
	Point pt;	// 객체 생성
		
	return 0;
}

위의 코드는 Point라는 클래스를 정의하고 main 함수에서 객체를 생성한 코드이다.




c++에서의 구조체는 클래스가 할 수 있는 모든 일을 할 수 있다. (붕어빵과 붕어빵 틀의 관계라고 생각하기)

아래에 차이점에 대해서 정리해두었다.


struct와 class의 차이점

struct 

class 

기본적으로 접근 권한 public으로 적용 

기본적으로 접근 권한 private으로 적용

상속이 안됨

상속이 됨 

 =연산자로 인한 객체생성은 멤버 초기값들이 값 복사가 일어남

 =연산자로 인한 객체생성은 멤버 초기값들이 참조 복사가 일어남




공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/04   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
글 보관함