What happens when you attempt to compile and run the following code?
#include
class A { protected: int y; public: int x,z;
A() : x(2), y(2), z(1) { z = x + y; } A(int a, int b) : x(a), y(b) { z = x + y;}
void Print() { cout << z; }
};
class B : public A { public:
int y; B() : A() {} B(int a, int b) : A(a,b) {}
void Print() { cout << z; }
};
int main () {
A b;
b.Print(); return 0; }
A. It prints: 4
B. It prints: 0
C. It prints: 3
D. It prints: 2