What will be the output of the following C++ code?
#include <iostream>
#include <string>
#include <cstdlib>
using namespace std;
template<class T, class U = char>
class A
{
T a;
U b;
public:
A(T a_val, char b_val = '$'){
this->a = a_val;
this->b = b_val;
}
void print(){
cout<<a<<' '<<b<<endl;
}
};
int main(int argc, char const *argv[])
{
A <int, int> a1(5,10);
A <int> a2(5);
A <float> a3(10.0);
return 0;
}
#include <iostream>
#include <string>
#include <cstdlib>
using namespace std;
template<class T, class U = char>
class A
{
T a;
U b;
public:
A(T a_val, char b_val = '$'){
this->a = a_val;
this->b = b_val;
}
void print(){
cout<<a<<' '<<b<<endl;
}
};
int main(int argc, char const *argv[])
{
A <int, int> a1(5,10);
A <int> a2(5);
A <float> a3(10.0);
return 0;
}A. 5 10
5 $
10 $
B. nothing
C. Error
D. Segmentation fault
Answer: Option B

Join The Discussion