Examveda

What will be the output of the following C++ code?
#include <iostream>
using namespace std;
template <class T>
inline T square(T x)
{
    T result;
    result = x * x;
    return result;
};
template <>
string square<string>(string ss)
{
    return (ss+ss);
};
int main()     
{
    int i = 4, ii;
    string ww("A");
    ii = square<int>(i);
    cout << i << ii;
    cout << square<string>(ww) << endl;
}

A. 416AA

B. 164AA

C. AA416

D. AA41A

Answer: Option A


Join The Discussion

Related Questions on C plus plus miscellaneous

What is the difference between '++i' and 'i++' in C++?

A. None of the above

B. They both have the same effect

C. '++i' increments the value of 'i' before returning it, while 'i++' increments the value of 'i' after returning it

D. '++i' increments the value of 'i' after returning it, while 'i++' increments the value of 'i' before returning it