欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

C++中的友元函数与友元类详情

程序员文章站 2024-03-27 08:09:58
一、问题背景对类的封装是c++三大特性中的一个重要特性,封装好的数据在类的外部是访问不到的但是一旦出了问题,想要操作被封装的数据怎么办呢?由此友元函数友元类诞生了。在类中用friend关键字声明的函数...

一、问题背景

对类的封装是c++三大特性中的一个重要特性,封装好的数据在类的外部是访问不到的但是一旦出了问题,想要操作被封装的数据怎么办呢?由此友元函数友元类诞生了。在类中用friend关键字声明的函数或类,可以对类体中的任何权限成员属性进行操作
有好处就有坏处友元函数、友元类严重破坏类的封装性,不到迫不得已不要使用。

二、友元函数

声明部分: friend 返回类型 函数名 (参数列表);

定义部分:返回类型 函数名 (参数列表){
        函数体,在这个函数体中可以对相应对象的成员变量用运算符进行操作
    };

 友元函数就是一个全局函数,成为了某类的朋友,可以随意修改他的私有属性。

具体使用方法如下:

友元函数在进行流运算符重载的时候非常实用。

三、友元类

声明部分:friend 类名;

语法部分:在友元类中对另一个类中的成员属性进行操作;
友元类会破坏类的封装性要慎用;

具体使用方法如下:【将b类设置为a类的友元类】

友元类,在不到迫不得已的时候,不要使用。友元函数在进行

到此这篇关于c++中的友元函数与友元类详情的文章就介绍到这了,更多相关c++友元函数和友元类内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!