What will be the output of the following C++ code?
#include <iostream>
#include <string>
#include <tuple>
using namespace std;
int main()
{
tuple <int, char, string> tp1;
tuple <int, char, string> tp2;
tp1 = make_tuple(6, 'a', "Hello");
tp2 = make_tuple(9, 'z', "World");
cout<<"("<<get<0>(tp1)<<", "<<get<1>(tp1)<<", "<<get<2>(tp1)<<")"<<endl;
cout<<"("<<get<0>(tp2)<<", "<<get<1>(tp2)<<", "<<get<2>(tp2)<<")"<<endl;
tp1.swap(tp2);
cout<<"("<<get<0>(tp1)<<", "<<get<1>(tp1)<<", "<<get<2>(tp1)<<")"<<endl;
cout<<"("<<get<0>(tp2)<<", "<<get<1>(tp2)<<", "<<get<2>(tp2)<<")"<<endl;
return 0;
}
#include <iostream>
#include <string>
#include <tuple>
using namespace std;
int main()
{
tuple <int, char, string> tp1;
tuple <int, char, string> tp2;
tp1 = make_tuple(6, 'a', "Hello");
tp2 = make_tuple(9, 'z', "World");
cout<<"("<<get<0>(tp1)<<", "<<get<1>(tp1)<<", "<<get<2>(tp1)<<")"<<endl;
cout<<"("<<get<0>(tp2)<<", "<<get<1>(tp2)<<", "<<get<2>(tp2)<<")"<<endl;
tp1.swap(tp2);
cout<<"("<<get<0>(tp1)<<", "<<get<1>(tp1)<<", "<<get<2>(tp1)<<")"<<endl;
cout<<"("<<get<0>(tp2)<<", "<<get<1>(tp2)<<", "<<get<2>(tp2)<<")"<<endl;
return 0;
}
A. (6, a, Hello)
(9, z, World)
(9, z, World)
(6, a, Hello)
B. (6, a, Hello)
(9, z, World)
(6, a, Hello)
(9, z, World)
C. (9, z, World)
(6, a, Hello)
(9, z, World)
(6, a, Hello)
D. (6, a, Hello)
(6, a, Hello)
(9, z, World)
(9, z, World)
Answer: Option A
Join The Discussion