본문 바로가기

반응형

생성자

(3)
[문과 코린이의 IT 기록장] C,C++ - 임시객체(임시객체 기초, 임시객체 정의, 임시객체 특징, 임시객체 사례) [문과 코린이의 IT 기록장] C,C++ - 임시객체(임시객체 기초, 임시객체 정의, 임시객체 특징, 임시객체 사례) 1. 임시객체 기초 임시객체란? : 실행 도중에 잠깐만 사용되는 객체로, 소스 코드에도 없는 힙 이외의 공간에 생성되는 것이 임시객체이다. ex ) main함수에서, A함수에 n을 인자로 넘겨주면, A함수의 통용범위에서만 사용가능한 int a라는 임시객체를 생성하게 된다. 임시객체 a는 n의 값인 1을 담게 되는데 이 때 복사가 일어난다. 이를 값에 의한 복사(Call by value)라고 한다. 마찬가지로, return a를 할 때도, 리턴 값은 int형 임시객체를 생성하고 담게 된다. int A() : 값 리턴, 임시객체가 생성된다. int & A() : 참조 리턴, 리턴용 임시객체를..
[문과 코린이의 IT 기록장] C,C++ - This포인터( 숨겨져 있는 this 포인터, 명시적으로 this 참조하기 ) [문과 코린이의 IT 기록장] C,C++ - This포인터( 숨겨져 있는 this 포인터, 명시적으로 this 참조하기 ) [ 클래스의 맴버 함수를 호출할 때, C++은 어떻게 호출할 객체(인스턴스)를 찾는가? ] : 이 질문에 대한 정답은, this라는 숨겨진 포인터를 사용한다는 것이다. - main함수 'simple.SetID(2);'에서 보면, SetID()맴버함수가 객체(인스턴스) simple에서 작동해야 한다는 것을 알고, m_ID는 simple.m_ID를 참조한다. 이 과정이 어떻게 작동되는지 알아보자. 1. 숨겨져 있는 this 포인터 1) simple SetID(2); // 이 코드는 맴버 함수 SetID()가 하나의 인수만 가지고 호출하는 것처럼 보이지만, 실제로는 두 개의 인수를 가지고..
[문과 코린이의 IT 기록장] C,C++ - 클래스, 생성자( 클래스에 대한 이해, 생성자, 매개변수에 따른 생성자 오버로딩, 이니셜라이저(:) 이용, 소멸자 ) [문과 코린이의 IT 기록장] C,C++ - 클래스, 생성자 ( 클래스에 대한 이해, 생성자, 매개변수에 따른 생성자 오버로딩, 이니셜라이저(:) 이용, 소멸자 ) 1. 클래스에 대한 이해 ex ) cf ) 61행에, month == 12? 12 : month & 12에 대한 이해 ? : - 삼항연산자 12 (참, 거짓을 판단할 변수) ? 12(참 일때 사용할 값) : month & 12(거짓일 때 사용할 값) [ 이 코드에서 클래스 관려해 중요시 봐야할 부분 ] 1. 함수의 정의와 몸통이 분리되어 있다. ex. 클래스 내부에, class Date{ ... void Setdate(int year_, int month_, int Date_) ... }; 클래스 외부에, Void Date :: SetDate..

반응형