-
명품 C++ 6장 4번C++ 2018. 11. 2. 17:05
4. 다음 클래스에 중복된 생성자를 디폴트 매개 변수 를 가진 하나의 생성자로 작성하고 테스트 프로그램을 작성하라.
#include <iostream>using namespace std;class MyVector {int *mem;int size;public:MyVector();MyVector(int n, int val);~MyVector() { delete[]mem; }};MyVector::MyVector() {mem = new int[100];size = 100;for (int i = 0; i < size; ++i) mem[i] = 0;}MyVector::MyVector(int n, int val) {mem = new int[n];size = n;for (int i = 0; i < size; ++i) mem[i] = val;}소스코드
#include <iostream>using namespace std;class MyVector {int *mem;int size;public:MyVector(int n, int val);~MyVector() { delete[]mem; }};MyVector::MyVector(int n = 100, int val = 0) {mem = new int[n];size = n;for (int i = 0; i < size; ++i) mem[i] = val;for (int i = 0; i < size; ++i) cout << mem[i] << ' ';cout << endl;cout << "size= " << size << endl;}int main() {MyVector a;MyVector b(5, 10);}실행결과
n과 val 을 설정하지 않으면 기본생성자에서 100과 0으로 초기화 하므로 디폴트 매개변수를 100과 0으로 설정하여 a객체와 b객체를 출력하는 테스트 프로그램을 만들었습니다.
'C++' 카테고리의 다른 글
명품 C++ 6장 6번 (0) 2018.11.02 명품 C++ 6장 5번 (0) 2018.11.02 명품 C++ 6장 3번 (0) 2018.11.02 명품 C++ 6장 2번 (0) 2018.11.02 명품 C++ 6장 1번 (0) 2018.11.02