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형 배열을 해제 시켜 줍니다.
'명품 C++ programming' 카테고리의 다른 글
명품 C++ programming 실습문제 6장 6번 (0) | 2019.04.13 |
---|---|
명품 C++ programming 실습문제 6장 5번 (0) | 2019.04.13 |
명품 C++ programming 실습문제 6장 3번 - (2) (0) | 2019.04.12 |
명품 C++ programming 실습문제 6장 3번 - (1) (0) | 2019.04.12 |
명품 C++ programming 실습문제 6장 2번 - (2) (0) | 2019.04.12 |