본문 바로가기

Programming/C++17

[ C++ ] 객체의 동적 생성 및 반환 객체의 동적 생성 및 반환 형식 동적할당 클래스이름 *포인터변수 = new 클래스 이름; 클래스이름 * 포인터변수 = new 클래스 이름(생성자매개변수리스트); 해제 delete 포인터변수; 객체 동적생성 예제 원의 개수를 입력받고 Circle 배열을 동적생성하라. 반지름 값을 입력받아 Circle 배열에 저장하고, 면적이 100에서 200 사이인 원의 개수를 출력하라. #include #include using namespace std; class Circle { int radius; public: Circle(); ~Circle() {}; void setRadius(int r) { radius = r; }; double getArea() { return 3.14 * radius * radius; };.. 2021. 4. 6.
[ C++ ] C++ 동적 메모리 할당 및 반환 동적 메모리 할당 정적 할당 변수 선언을 통해 필요한 메모리 할당 동적 할당 필요한 양이 예측되지 않는 경우. 프로그램 작성시 할당 받을 수 없음 실행중에 힙 메모리에서 할당 -> 힙으로부터 할당 받는다. C 언어의 동적 메모리 할당 할당 : malloc 해제 : free 위 두개 라이브러리 함수를 사용한다. C++의 동적 메모리 할당/ 반환 new 연산자 기본타입 메모리 할당, 배열 할당, 객체 할당, 객체배열 할당 객체의 동적 생성 - 힙 메모리로부터 객체를 위한 메모리 할당 요청 객체할당시 생성자 호출 delete 연산자 new로 할당받은 메모리 반환 객체의 동적 소멸 - 소멸자 호출 뒤 객체를 힙에 반환한다. + 메모리 1. 코드영역 : 코드 2. 데이터 영역: 전역변수, static 변수( 프로.. 2021. 4. 6.
[ C++ ] 즐거운 은행 놀이 class Bank { string name; string num; string num2; int total=0; int money; public: Bank() {}; Bank(string nam, string n) { name = nam; num = n; } void view() { cout 2021. 3. 30.
[ C++ ] C++의 포인터 객체 포인터 C 언어의 포인터와 동일하다. 객체의 주소 값을 가지는 변수이다. 포인터로 멤버를 접근할 경우 객체포인터 -> 멤버 객체 배열 선언 가능 기본타입 배열 선언과 형식 동일 객체 배열 선언 1. 객체 배열을 위한 공간 할당 2. 배열의 각 원소 객체마다 생성자 실행 매개변수 있는 생성자를 호출할 수 없다. 배열 소멸 배열의 각 객체마다 소멸자 호출. 생성의 반대순으로 소멸된다. class Circle { int radius; public: Circle() { radius = 1; } Circle(int r) { radius = r; } void setRadius(int r) { radius = r; } double getArea(); }; double Circle::getArea() { retu.. 2021. 3. 30.