Vidyalelo
C++ Programming · Q692

C++ miscellaneous

Programming · C++ Programming · question 692

Q692

What will be the output of the following C++ code? #include #include using namespace std; class Component public: virtual void traverse() = 0; ; class Leaf: public Component int value; public: Leaf(int val) value = val; void traverse() cout children; public: void add(Component *ele) children.push_back(ele); void traverse() for (int i = 0; i traverse(); ; int main() Composite containers[4]; for (int i = 0; i < 4; i++) for (int j = 0; j < 3; j++) containers[i].add(new Leaf(i *3+j)); for (int k = 1; k < 4; k++) containers[0].add(&(containers[k])); for (int p = 0; p < 4; p++) containers[p].traverse();

A.
345
B.
678
C.
901
D.
0 1 2 3 4 5 6 7 8 9 10 11
3 4 5
6 7 8
9 10 11
Answer

Answer: Option D

Solution

Answer: Option D
No explanation is given for this question Let's Discuss on Board