본문 바로가기

class7

[C++]복사 생성자와 delete 키워드 복사 생성자 C++ 클래스에는 프로그래머가 직접 구현하지 않아도 생성되는 생성자들이 있는데 그중 하나가 바로 복사 생성자입니다. 이름과 동일하게 복사 생성자는 class 변수에 다른 변수의 값을 복사하는 데 사용되는 생성자입니다. 생성자이기 때문에 변수의 생성과 동시에 초기화되어야 합니다. default 복사 생성자의 모습은 다음과 같습니다. (const & cData); 생성자이기 때문에 반환형은 없으며 인자로 const 레퍼런스로 받습니다. class C_DATA { private: int *m_pData; int m_nSize; public: C_DATA(); C_DATA(const C_DATA & cInput); void init(int nSize); }; int main() { C_DATA cD.. 2018. 1. 24.
[C++]Class 생성자(Constructor) 생성자(Constructor) C++ class에는 생성자가 있습니다. 생성자는 변수를 생성하는 것과 동시에 호출되는 함수입니다. 즉, 변수가 메모리를 잡는 것과 동시에 호출되는 함수입니다. 생성자의 형태는 반환형이 없고 class의 이름과 동일한 함수입니다. class C_DATA { private: int *m_pData; int m_nSize; public: ... }; int main() { C_DATA cData; ... return 0; } 위의 class에는 원래 "C_DATA();" 형태의 생성자가 존재해야 하지만 생성자가 없는 것을 확인할 수 있습니다. C_DATA class에는 생성자가 없지만 class 변수 cData는 생성자를 호출하게 됩니다. 생성자가 없는데 호출한다는 것이 이상하.. 2018. 1. 24.