InterviewSolution
Saved Bookmarks
This section includes InterviewSolutions, each offering curated multiple-choice questions to sharpen your knowledge and support exam preparation. Choose a topic below to get started.
| 1. |
#include <iostream>using namespace std;template <typename T>T max(T x, T y){return (x > y)? x : y;}int main(){cout << max(3, 7) << std::endl;cout << max(3.0, 7.0) << std::endl;cout << max(3, 7.0) << std::endl;return 0;}(A)77.07.0(B) Compiler Error in all cout statements as data type is not specified.(C) Compiler Error in last cout statement as call to max is ambiguous.(D) None of the above |
| Answer» | |
| 2. |
Predict the output?#include <iostream>using namespace std;template <typename T>void fun(const T&x){static int count = 0;cout << "x = " << x << " count = " << count << endl;++count;return;}int main(){fun<int> (1);cout << endl;fun<int>(1);cout << endl;fun<double>(1.1);cout << endl;return 0;}(A)x = 1 count = 0x = 1 count = 1x = 1.1 count = 0(B)x = 1 count = 0x = 1 count = 0x = 1.1 count = 0(C)x = 1 count = 0x = 1 count = 1x = 1.1 count = 2(D) Compiler Error |
| Answer» | |
| 3. |
Output of following program?#include <iostream>using namespace std;template <class T>class Test{private:T val;public:static int count;Test() { count++; }};template<class T>int Test<T>::count = 0;int main(){Test<int> a;Test<int> b;Test<double> c;cout << Test<int>::count << endl;cout << Test<double>::count << endl;return 0;}(A)00(B)11(C)21(D)10 |
| Answer» | |
| 4. |
Output of following program? Assume that the size of char is 1 byte and size of int is 4 bytes, and there is no alignment done by the compiler.#include<iostream>#include<stdlib.h>using namespace std;template<class T, class U>class A {T x;U y;static int count;};int main() {A<char, char> a;A<int, int> b;cout << sizeof(a) << endl;cout << sizeof(b) << endl;return 0;}(A)612(B)28(C) Compiler Error: There can not be more than one template arguments.(D)88 |
| Answer» | |
| 5. |
Output of following program? Assume that the size of int is 4 bytes and size of double is 8 bytes, and there is no alignment done by the compiler.#include<iostream>#include<stdlib.h>using namespace std;template<class T, class U, class V=double>class A {T x;U y;V z;static int count;};int main(){A<int, int> a;A<double, double> b;cout << sizeof(a) << endl;cout << sizeof(b) << endl;return 0;}(A)1624(B)816(C)2028(D) Compiler Error: template parameters cannot have default values. |
| Answer» | |
| 6. |
Output of following program.#include <iostream>using namespace std;template <class T, int max>int arrMin(T arr[], int n){int m = max;for (int i = 0; i < n; i++)if (arr[i] < m)m = arr[i];return m;}int main(){int arr1[] = {10, 20, 15, 12};int n1 = sizeof(arr1)/sizeof(arr1[0]);char arr2[] = {1, 2, 3};int n2 = sizeof(arr2)/sizeof(arr2[0]);cout << arrMin<int, 10000>(arr1, n1) << endl;cout << arrMin<char, 256>(arr2, n2);return 0;}(A) Compiler error, template argument must be a data type.(B)101(C)10000256(D)11 |
| Answer» None | |
| 7. |
Output?#include <iostream>using namespace std;template <class T>T max (T &a, T &b){return (a > b)? a : b;}template <>int max <int> (int &a, int &b){cout << "Called ";return (a > b)? a : b;}int main (){int a = 10, b = 20;cout << max <int> (a, b);}(A) 20(B) Called 20(C) Compiler Error |
| Answer» | |
| 8. |
Output?#include <iostream>using namespace std;template<int n> struct funStruct{static const int val = 2*funStruct<n-1>::val;};template<> struct funStruct<0>{static const int val = 1 ;};int main(){cout << funStruct<10>::val << endl;return 0;}(A) Compiler Error(B) 1024(C) 2(D) 1 |
| Answer» | |
| 9. |
Output?#include <iostream>using namespace std;template <int i>void fun(){i = 20;cout << i;}int main(){fun<10>();return 0;}(A) 10(B) 20(C) Compiler Error |
| Answer» | |