问答题
已定义类A:class A { ptivate: int x; protected: int y; public: int z; A(int p1, int p2, int p3) { x = p1; y = p2; z = p3; } // 构造函数 }; 再定义派生类B:class B : public A { private: int a; public: // 定义派生类B的构造函数 }; 则下列派生类B的构造函数定义中,正确的是( )。
A、B(int p1, int p2, int p3, int p4) { x = p1; y = p2; z = p3; a = p4; }
B、B(int p1, int p2, int p3, int p4) { A(p1, p2, p3); a = p4; }
C、B(int p1, int p2, int p3, int p4) { a = p4; }
D、B(int p1, int p2, int p3, int p4) : A(p1, p2, p3) { a = p4; }