Examveda

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;
}

A. 5 10
5 $
10 $

B. nothing

C. Error

D. Segmentation fault

Answer: Option B


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