ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 명품 C++ 10장 2번
    C++ 2018. 11. 16. 22:28

    2. 두 개의 배열을 비교하여 같으면 true를, 아니면 false를 리턴하는 제네릭 함수 equalArrays()를 작성하라. 또한 main() 함수를 작성하여 equalArrays()를 호출 하는 몇 가지 사례를 보여라. equalArrays()를 호출하는 코드 사례는 다음과 같다.


    소스코드


    #include <iostream>
    using namespace std;
    template <class T>
    bool equalArrays(T x[], T y[], int n) { // 배열이 같은지 확인하는 함수
        for (int i = 0; i < n; ++i) {
            if (x[i] != y[i])
                return false;
        }
        return true;
    }
    int main() {
        int x[] = { 1,10,100,5,4 }; // 비교할 두 int 배열
        int y[] = { 1,10,100,5,4};
        char a[] = { 'a','d','z','t','w' }; // 비교할 두 char 배열
        char b[] = { 'k','a','d','z','t' };
        if (equalArrays(x, y, 5))cout << "같다"<< endl; // int 배열 비교
        else cout << "다르다"<< endl;;
        if (equalArrays(a, b, 5))cout << "char 배열 같다" << endl; // char 배열 비교
        else cout << "char 배열 다르다" << endl;
    }


    실행결과



    template 를 사용하여 중복 함수를 일반화 합니다. 호출 시 타입을 T에 대입해 호출합니다.

    타입에 맞게 함수가 진행됩니다.


    'C++' 카테고리의 다른 글

    명품 C++ 10장 4번  (0) 2018.11.16
    명품 C++ 10장 3번  (0) 2018.11.16
    명품 C++ 10장 1번  (0) 2018.11.16
    명품 C++ 9장 Open Challenge  (2) 2018.11.07
    명품 C++ 9장 10번  (0) 2018.11.07

    댓글

© 2018 TISTORY. All rights reserved.