1. 문제

 

4. 다음 클래스에 중복된 생성자를 디폴트 매개 변수를 가진 하나의 생성자로 작성하고 테스트 프로그램을 작성하라.

 

 

2. 결과

 

 

 

 

3. 코드

 

#include <iostream>
using namespace std;

class MyVector {
	int *mem;
	int size;
public :
	MyVector(int n=100, int val=0);
	~MyVector() { delete [] mem; }
	void show() { for(int i=0; i<size;i++) cout << mem[i] << ' '; cout << endl; }
};

MyVector::MyVector(int n, int val) {
	mem = new int [n];
	size =  n;
	for(int i=0; i<size; i++) mem[i] = val;
}

int main() {

	MyVector a, b(4,5);
	
	a.show();
	b.show();
}

 

 

4. 설명

 

주어진 코드의 생성자를 살펴보면 디폴트 매개 값을 가진 MyVector(int n=100, int val=0); 생성자를 생성할 수 있습니다.

 

이 생성자는 크기가 n인 int형 배열을 동적으로 생성한 후 val 값으로 각 원소들을 초기화 하는 기능을 합니다.

 

구현이 잘 되었는지 확인하기 위하여 void show()함수를 생성하여서 결과를 확인 합니다.

 

또한 소멸자에서는 동적으로 생성하였던 int형 배열을 해제 시켜 줍니다.

 

+ Recent posts