What will be the output of the following C++ code?
#include <iostream>
using namespace std;
class bowl
{
public:
int apples;
int oranges;
};
int count_fruit(bowl * begin, bowl * end, int bowl :: *fruit)
{
int count = 0;
for (bowl * iterator = begin; iterator != end; ++ iterator)
count += iterator ->* fruit;
return count;
}
int main()
{
bowl bowls[2] = {{ 1, 2 },{ 3, 5 }};
cout << "I have " << count_fruit(bowls, bowls + 2, & bowl :: apples) << " apples\n";
cout << "I have " << count_fruit(bowls, bowls + 2, & bowl :: oranges) << " oranges\n";
return 0;
}
#include <iostream>
using namespace std;
class bowl
{
public:
int apples;
int oranges;
};
int count_fruit(bowl * begin, bowl * end, int bowl :: *fruit)
{
int count = 0;
for (bowl * iterator = begin; iterator != end; ++ iterator)
count += iterator ->* fruit;
return count;
}
int main()
{
bowl bowls[2] = {{ 1, 2 },{ 3, 5 }};
cout << "I have " << count_fruit(bowls, bowls + 2, & bowl :: apples) << " apples\n";
cout << "I have " << count_fruit(bowls, bowls + 2, & bowl :: oranges) << " oranges\n";
return 0;
}A. I have 4 apples
I have 7 oranges
B. I have 3 apples
I have 5 oranges
C. I have 1 apples
I have 5 oranges
D. I have 1 apples
I have 7 oranges
Answer: Option A
What does the 'sizeof' operator return in C++?
A. Size of a data type in bits
B. Size of a data type in bytes
C. Size of a variable in bytes
D. Size of a variable in bits
What is the purpose of the 'static' keyword in C++?
A. To declare a variable with dynamic storage duration
B. To declare a constant
C. To declare a variable with external linkage
D. To declare a variable with static storage duration
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

Join The Discussion