본문 바로가기
01.Bit 단기/C++

19_heap객체생성

by chojju 2018. 4. 30.
반응형

// 동적메모리(힙(heap) 메모리 사용)
#include <iostream>
using namespace std;

class Member
{
public:
 string name;
 int    age;

public:
 Member()
 {
  name = "";
  age = 0;
 }
 Member(string _name, int _age)
 {
  name = _name;
  age = _age;
 }
};


int main()
{
 //객체 생성시 자동으로 생성자 호출...
 Member m1;
 Member m2("홍길동", 10);

 //pm 과 pm1
 //공통점 : Member 타입의 주소를 가진다.
 //차이점 : pm은 스택에 생성된 객체의 주소
 //         pm1은 힙에 생성된 메모리의 주소
 //         pm2는 힙에 생성된 객체의 주소
 //결론은 힙에 객체를 생성하길 원한다면
 //반드시 new 연산자를 사용해야 한다.
 Member *pm = &m2;
 Member *pm1 = (Member*)malloc(sizeof(Member));

 //R value : 객체를 생성하는 코드(힙메모리에)
 // pm2    : 생성된 객체를 저장하는 포인터 변수
 Member *pm2 = new Member("이길동", 20);
 pm2->age = 10;

 return 0;
}

반응형

'01.Bit 단기 > C++' 카테고리의 다른 글

21_static 멤버변수  (0) 2018.05.03
20_개체 생성과 소멸시점  (0) 2018.04.30
18_heap메모리 사용(C/C++ 비교)  (0) 2018.04.30
17_클래스멤버함수외부정의  (0) 2018.04.30
16_클래스기본구조  (0) 2018.04.30

댓글