派生类的构造函数必须将基类所有的private成员数据再设置一遍:
#include <iostream> using namespace std ;
class BC { public: BC(int x, int y) { this->x= x ; this->y= y ; } int getx() { return x ;} int gety() { return y ;} private: int x, y ; };
class DC : public BC { public: //DC(int z) { this->z= z ; } //error DC(int x, int y, int z): BC(x, y) { this->z= z; } void write() { cout << "x: " << BC::getx() <<endl ; cout << "y: " << BC::gety() <<endl ; cout << "z: " << z << endl ; } private: int z ; };
int main() { DC dc(1,2,3) ; dc.write() ; return 0; }