间接访问权限(基类派生类)(67) 发表于 2014-09-23 | 分类于 语言 先看代码:++1234567891011121314151617181920212223242526272829303132333435class Baseclass{public: Baseclass() { } ~Baseclass(){}; virtual void demo (int a) const { cout << "asdf" << endl; }};class Driverclass : public Baseclass{public: Driverclass(){} ~Driverclass(){}private: void demo(int a) const { cout << "qwe" << endl; }};void main() { Baseclass* pb; Baseclass* p = new Baseclass; Driverclass* d = new Driverclass; pb = p; pb->demo(2); pb = d; pb->demo(2); system("pause");} 看demo虽然是driverclass的私有函数,可通过pb我们却访问到了他的私有成员。 如果直接:d->demo(2)必定会报错。 因为demo在基类就被声明为public了,所以如此的间接访问是可以的。