不是可以的吗,但为什么下面这段代码会报错呢 class Basic { public: Basic(int _a):a(_a){} protected: int a; }; class Sub : public Basic { public: Sub(int _a,int _b):Basic(_a),b(_b){} void showBasic(Basic basic) { cout<<basic.a<<endl; } private: int b; }; error C2248: “Basic::a”: 无法访问 protected 成员(在“Basic”类中声明) 为什么不能访问?难道我理解错了?