#include &lt;iostream&gt;    #include &lt;string&gt;    #include &lt;cstring&gt;    using namespace std;    template &lt;class type&gt;    type MyMax&#40;const type Var1, const type Var2&#41;    &#123;        cout &lt;&lt; &quot;no specialization&quot;;        return Var1 &lt; Var2 ? Var2 : Var1;    &#125;    template &lt;&gt;    const char *MyMax&#40;const char *Var1, const char *Var2&#41;    &#123;        return &#40;strcmp&#40;Var1, Var2&#41;&lt;0&#41; ? Var2 : Var1;    &#125;    int main&#40;&#41;    &#123;        string Str1 = &quot;class&quot;, Str2 = &quot;template&quot;;        const char *Var3 = &quot;class&quot;;        const char *Var4 = &quot;template&quot;;        const char *q = MyMax&#40;Var3, Var4&#41;;        cout &lt;&lt; q &lt;&lt; endl;        return 0;    &#125;
A. template
B. class
C. no specialization
D. None of the mentioned
Answer:A
#include &lt;iostream&gt;    #include &lt;string&gt;    #include &lt;cstring&gt;    using namespace std;    template &lt;class type&gt;    type MyMax&#40;const type Var1, const type Var2&#41;    &#123;        cout &lt;&lt; &quot;no specialization&quot;;        return Var1 &lt; Var2 ? Var2 : Var1;    &#125;    template &lt;&gt;    const char *MyMax&#40;const char *Var1, const char *Var2&#41;    &#123;        return &#40;strcmp&#40;Var1, Var2&#41;&lt;0&#41; ? Var2 : Var1;    &#125;    int main&#40;&#41;    &#123;        string Str1 = &quot;class&quot;, Str2 = &quot;template&quot;;        const char *Var3 = &quot;class&quot;;        const char *Var4 = &quot;template&quot;;        const char *q = MyMax&#40;Var3, Var4&#41;;        cout &lt;&lt; q &lt;&lt; endl;        return 0;    &#125;
A. template B. class C. no specialization D. None of the mentioned
Explanation:In this program, We are computing the result in the specalized block of the program.