-
명품 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