💻 개발 & CSC++ 프로그래밍

명품 C++ programming 실습 문제 10장 7번

문제 : 다음 프로그램은 컴파일 오류가 발생한다. 소스의 어디에서 왜 컴파일 오류가 발생하는가? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 #include using namespace std; class Circle { int radius; public: Circle(int radius = 1) { this->radius = radius; } int getRadius() { return radius; } }; template <class T> T bigger(T a, T b) { // 두 개의 매개 변수를 비교하여 큰 값을 리턴 if (a > b) return a; else return b; } int main() { int a = 20, b = 50, c; c = bigger(a, b); cout << "20과 50중 큰 값은 " << c << endl; Circle waffle(10), pizza(20), y; y = bigger(waffle, pizza); cout << "waffle과 pizza 중 큰 것의 반지름은 " << y.getRadius() << endl; } 실행 결과 : ...

2020년 3월 9일 · 2 분 · Sobamemil
💻 개발 & CSC++ 프로그래밍

명품 C++ programming 실습 문제 10장 1번

문제 : 배열을 받아 가장 큰 값을 리턴하는 제네릭 함수 biggest()를 작성하라. 또한 main() 함수를 작성하여 biggest()를 호출하는 몇 가지 사례를 보여라. 실행 결과 : 목적 및 힌트 : 템플릿 함수 만들기 biggest()를 호출하는 코드 사례는 다음과 같다. 1 2 int x[] = {1, 10, 100, 5, 4}; cout << biggest(x, 5) << endl; // 5는 배열 x의 크기. 100이 출력된다. 코드 : 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 #include using namespace std; template <class T> T biggest(T a[], T n){ T big = a[0]; // 배열 a의 첫번째 원소를 big에 삽입 for(T i=1; i<n; i++) big = big < a[i] ? a[i] : big; // big보다 a[i]의 값이 더 크면 big에 a[i]의 값을 삽입 return big; } int main() { int big = 0; int x[] = {1, 10, 100, 5, 4}; cout << biggest(x, 5) << endl; } 설명 : ...

2020년 3월 9일 · 1 분 · Sobamemil