본문 바로가기
C++

[C++ 생성자(클래스)]정의 및 고찰

by cod1ng 2023. 11. 7.

//수업시간에 사용한 코드

//생성자고찰

생성자는 맴버 변수의 초기화가 목적 

생성자의 종류 : 디폴트 생성자, 기본 생성자, 복사 생성자(아직 모름)
/*
[객체 생성시 발생하는 일]
1.메모리 생성
-> 맴버 변수의 크기 합(함수와 메모리는 상관x)
2.반드시 생성자 호출

* 만약, 생성자를 만들지 않으면 컴파일러가 대신 만들어준다.
  컴파일러가 만들어 주는 생성자는 아래와 같다.

  클래스명() //인자가 없다 => 디폴트 생성자
  {
     //아무기능 없다
   }
*/
#include <iostream>
using namespace std;

class Sample1
{

public:
Sample1() {}

};
class Sample2
{
public:
Sample2(int n1) {}
};
int main()
{
Sample1 s1; // 메모리 -> 생성자 호출!

Sample1 s2; // 메모리 -> 생성자 호출!
return 0;
}
디폴트 생성자라는 개념을 처음 알았다 객체가 생성되면 무조건 메모리가 생성되고 크기는 맴버 변수의 합이며, 맴버 함수는 포함되지 않는다 디폴트 생성자는 컴파일러 마다 다르게 설정되어있는데 visual studio 기준으로 1바이트로 정의 되어있다