ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 명품 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

    댓글

© 2018 TISTORY. All rights reserved.