class A {
public:
     void fun1() {
          cout << "1";
     );
     void fun2() {
          cout << "2";
     }
};

class B : public A {
public:
     void fun2() {
          cout << "200";
     }
     void fun3() {
          cout << "3";
     }
};

int main() {
      A aObj;
      B bObj;
      a.fun1();      Legal or illegal code?    If legal, what prints out? ____
      a.fun2();
      a.fun3();
      b.fun1();
      b.fun2();
      b.fun3();
                     What is the base class?  __________________
                     What is the derived class? __________________
                     Which function did the derived class override? ______________


class A {
private:
    int x;
public:
    int y;
protected:
    int z;
public:
    void someFunction() {
         //can we use x?   y?   z?
    }
};

class B: public A {
public:
    void anotherFunction() {
         //can we use x?  y?  z?
    }
};

int main() {
   
//can we use x?  y?  z?