#include class B { public: B(int i) : x(i) {} protected: int x; }; class D : public B { public: D(int i, int j) : B(i), y(j) {} void mtry(D& obj) { cout << obj.x; } void ntry(B& obj) { cout << obj.x; // no access } private: int y; }; int main() { D u(3,4); D v(9,17); B w(78); u.mtry(v); u.ntry(w); return(0); }