반응형

깊은 복사 4

[C++ 무료 동영상 강의] 49. 대입 연산자 중복 정의

[C++ 무료 동영상 강의] 49. 대입 연산자 중복 정의 다루는 내용디폴트 대입 연산자,얕은 복사,깊은 복사,복사 생성자,대입 연산자 중복 정의, 동적 배열 앞으로 프로그래밍 관련 글은 새롭게 개설한 언제나 휴일 전용 사이트에서 만나보세요. 2017년 1월 1일까지 이 곳의 프로그래밍 자료는 http://ehpub.co.kr 로 옮길 예정입니다. 본문[디딤돌 C++] 49. 대입 연산자 중복 정의

[C++ 무료 동영상 강의] 16. 생성자, 소멸자 (Part3, 복사 생성자)

[C++ 무료 동영상 강의]16. 생성자, 소멸자 (Part3, 복사 생성자)다루는 내용복사 생성자,얕은 복사,깊은 복사, 복사 생성자를 개발자가 작성해야 할 때 앞으로 프로그래밍 관련 글은 새롭게 개설한 언제나 휴일 전용 사이트에서 만나보세요. 2017년 1월 1일까지 이 곳의 프로그래밍 자료는 http://ehpub.co.kr 로 옮길 예정입니다. 본문[디딤돌 C++] 16. 생성자, 소멸자

[C++] 49. 대입 연산자 중복 정의

이번에는 대입 연산자 중복 정의를 하는 방법을 살펴보기로 할게요. 대입 연산자는 개발자가 정의하지 않으면 디폴트 대입 연산자가 동작합니다. 디폴트 대입 연산자는 디폴트 복사 생성자처럼 단순히 메모리 내용을 복사하는 얕은 복사를 진행합니다. 복사 생성자처럼 클래스 내부에 동적으로 생성한 다른 개체를 갖고 있을 때 깊은 복사를 하는 대입 연산자를 중복 정의할 필요가 있습니다. 깊은 복사와 얕은 복사는 복사 생성자 부분을 다시 살펴보기기 바랍니다. 여기에서는 복사 생성자에서 예를 들었던 동적 배열을 예로 들게요. 동적 배열은 생성할 때 보관할 원소의 최대 개수를 입력 인자로 받아 배열을 동적으로 생성하게 할 거예요. DCArray::DCArray(int _capa) { Init(); if(_capa) { ba..

[C++] 생성자

- 생성자 C++에서 특정 클래스 형식의 개체 인스턴스를 생성할 때 new 연산자를 사용합니다. new 연산자에서는 요청하는 형식의 개체를 위해 메모리를 할당하고 가상 함수 테이블을 형성하는 등의 초기 작업을 수행한 후에 생성자 메서드를 수행하고 생성된 개체의 메모리 주소를 반환합니다. 만약, 사용자가 생성자 메서드를 정의하지 않는다면 개체의 메모리를 할당하고 가상 함수 테이블을 형성하는 등의 초기 작업을 수행한 후 해당 개체의 메모리 주소를 반환하는데 이러한 작업을 수행하는 것을 디폴트 기본 생성자라고 합니다. 하지만 사용자가 생성자 메서드를 정의하면 디폴트 기본 생성자는 형성되지 않게 됩니다. 이러한 이유로 사용자가 입력 매개 변수가 있는 생성자를 정의했을 때 입력 인자를 전달하지 않고 개체를 생성하..

반응형