17.3基类成员访问
1.派生类访问自身与其它独立对象
1)派生类不能访问另一个独立的基类对象的protected 成员,可以访问自身基类对象的protected成员;
2)派生类可以直接访问该类其他对象的protected 基类成员以及该类其他对象的protected和private 成员
2.基类指针访问
在C++中,基类指针只能访问在该类中被声明或继承的数据成员和成员函数,包括虚拟成员函数,而与它可能指向的实际对象无关.把一个成员函数声明为虚拟的只推延了在程序执行期间根据pq 指向的实际类类型对于要调用的实例的解析过程.也就是说:
1)基类不能访问在基类中没有定义的数据成员和成员函数
2)基类指针访问非虚拟函数,访问的是基类版本;访问虚拟函数,迟后联编,访问实际指向的子类的版本.
17.4基类和派生类的构造
1.派生类构造顺序
1)基类构造函数如果有多个基类,则构造函数的调用顺序是某类在类派生表中出现的顺序,而不是它们在成员初始化表中的顺序.
2)成员类对象构造函数如果有多个成员类对象,则构造函数的调用顺序是对象在类中被声明的顺序,而不是它们出现在成员初始化表中的顺序.
3)派生类构造函数
阅读(1753) | 评论(0) | 转发(0) |