C언어/문제풀다 하나씩

디폴트 생성자 Queue() : {}

mcdn 2020. 8. 12. 16:52
반응형

1. 디폴트 생성자

첫번째 디폴트 생성자는 사용자가 직접 생성자를 정의해 주지 않아도 알아서 만들어지는 생성자입니다.(눈에 보이진 않습니다.)

내부적으로 알아서 처리되는 녀석인데

이를 사용자가 직접 정의해 줄 수 있습니다.

아래 예제 코드는 디폴드 생성자 예제입니다.

 

#include <iostream>
using namespace std;
 
class Point {
private :
    int x;
    int y;
    
public :
    // 디폴트 생성자
    Point() {
        x = 10;
        y = 15;
    }
    void print() {
        cout << "X : " << x << ", Y : " << y << "\n";
    }
};
 
int main(void) {
    Point p;
    p.print();    
}


출처: https://yeolco.tistory.com/114 [열코의 프로그래밍 일기]

디폴트 생성자는 위와 같이 사용자가 직접 정의해 줄 수 있습니다.

함수 반환형은 없으며, 함수 이름은 클래스의 이름과 동일합니다.



출처: https://yeolco.tistory.com/114 [열코의 프로그래밍 일기]]

 

디폴트 생성자!

 

#include <iostream>
#include <string>
#include <cstring>
using namespace std;

struct Queue {
	int data[10001];
	int tail, head;
	Queue()  
	{
		tail = 0;
		head = 0;
		memset(data, 0, sizeof(data));
	}

 저번에 문제 풀 때 참고했더 코드 속 Queue() { } 이거 다시 생성하는건 디폴트 생성자 즉 매개 변수 외부에서 받지 않고 안에서 초기화해주는 거임! 

 

반응형