C++中的友元和虚函数

来源:互联网 发布:剃须刀和刮胡刀知乎 编辑:程序博客网 时间:2024/06/05 18:19

友元函数或者友元类用于类成员的权限控制,不属于类的成员,因此友元函数实现时候不需要:。但是这个非成员可以访问private成员。通过friend,可以实现针对特定对象的成员公开化,而不是public和private一手抓。与protect相比,前者跨越对象,后者主要运用于用于继承关系。


虚函数则是接口定义,根据操作继承对象的不同,有不同的实现,在运行时候动态确定,而不是编译时候确定。而纯虚函数是没有定义的基类函数,更像是一个接口规范,声明纯虚函数之后,派生类里面不定义,则默认继承基类中的虚函数实现,而基类中的虚函数是纯虚函数,没有实现,编译器报错。虚函数体现了多态性,而多态性的一个关键之处就是一切用指向基类的指针或者引用来操作对象