생성자
- 객체만 생성해도 생성자는 자동 호출됨
- 상속관계에 있을 때 자식 객체를 생성하면 맨위 부모 클래스의 생성자부터 차례대로 생성자 호출이 일어남
- 생성자가 private이라면 다른 함수에서 객체 선언 시 생성자 호출 자체가 불가능해짐
#include <iostream>
#include <string>
using namespace std;
class A {
public:
A() {
cout << "Class A" << endl;
}
};
class B : public A {
int num;
string name;
public:
B() {
cout << "Class B" << endl;
}
B(int num, string name) {
this->num = num;
this->name = name;
printf("Class B num = %d, name = %s\n", this->num, this->name.c_str());
}
};
int main(void) {
B b(10, "Yubin");
return 0;
}
실행 화면>>
소멸자의 호출 시점
- 데이터 영역: 해당 프로그램이 종료될 때
- 스택 영역: 해당 객체가 정의된 블록을 벗어날 때
- 힙 영역: delete를 사용하여 해당 객체의 메모리를 반환할 때
- 임시 객체: 임시 객체의 사용을 마쳤을 때
'Old > 복습' 카테고리의 다른 글
C++ - 복사 생성자 (1) | 2024.01.03 |
---|---|
C++ - 범위 기반 for문 (1) | 2024.01.03 |
운영체제 - Call Stack (0) | 2023.12.27 |
운영체제 - Thread (0) | 2023.12.27 |
게임 서버 - 관계형 데이터베이스와 NoSQL (1) | 2023.08.16 |