//수업시간에 사용한 코드
//생성자고찰
생성자는 맴버 변수의 초기화가 목적
생성자의 종류 : 디폴트 생성자, 기본 생성자, 복사 생성자(아직 모름)
/*
[객체 생성시 발생하는 일]
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바이트로 정의 되어있다
'C++' 카테고리의 다른 글
[UML/C++] 클래스 다이어그램을 활용한 간단한 프로그래밍 (3) | 2023.11.08 |
---|---|
[C++클래스] 소멸자 (0) | 2023.11.08 |
[C++ 클래스] 클래스 사용법 (7) | 2023.11.07 |
[C++ 클래스] 생성자와 객체 초기화 (23) | 2023.11.07 |
[클래스사용하기전/구조체] 접근지정자 (12) | 2023.11.07 |