派生类的访问属性

派生类包含基类的成员和派生类自己的成员,就产生了这两部分成员的关系和访问属性问题。建立派生类的时候,并不是简单的把基类的私有成员直接作为派生类的私有成员,把基类的公用成员直接作为派生类的公用成员;基类城成员和派生类自己增加的成员是按照不同的原则处理的。
1、基类成员函数只能访问基类的成员,而不能访问派生类的成员;
2、派生类的成员函数可以访问基类的成员,派生类的成员函数可以访问派生类成员
3、派生类可以访问基类的成员(派生类在外也可以访问基类的公用成员,而不能访问基类的私有成员);

派生类的成员函数访问基类成员和在派生类外访问基类的成员涉及如何确定基类的成员在派生类中的访问属性问题,包括基类成员所声明的访问属性,派生类所声明的对基类的继承方式,规则有:
1、公用继承(public inheritance):基类的公用成员和保护成员在派生类中保持原有访问属性,其私有成员仍为基类私有;
2、私有继承(private inheritance):基类的公用成员和保护成员在派生类中成了私有成员,其私有成员仍为基类私有;
3、受保护的继承(protected inheritance):基类的公用成员和保护成员在派生类中成了保护成员,其私有成员仍为基类私有。保护成员的意思是,不能被外界引用,但可以被派生类的成员引用。

上一篇:c++面试中遇到的问题


下一篇:关于sql语句的优化问题