1.一个类的成员数据有可能包含另一个类的对象。C++程序员称其为外层类包容内层类。
2.私有继承不涉及继承接口,只涉及继承实现。
3.当派生类是一种基类时必须使用公有继承。
当你想把某些功能授权给另一个类而不必访问其保护型成员时一定要使用包容。
当你需要根据一个类而实现另一个类时,并且需要访问基类的保存型成员时使用私有继承。
当需要使用多个基类时,不能使用私有继承,必须使用包容。
当基类的成员不能用于派生类时,不能使用公有继承。
4.如果要把一个类的私有成员数据暴露给另一个类,那么就应把这个类声明为一个友元。
友元关系是不可以传递的,也不可以继承,友元关系也不是互通的。
友元类的声明:
friend class newclass;
友元声明可以放在类声明的任何地方。声明之后,本类的任何成员数据就完全暴露给另一个类。
也可以把另一个类的成员函数声明为该类的友元函数。
评论