广告
返回顶部
首页 > 资讯 > 精选 >C++ 函数的友元机制详解
  • 117
分享到

C++ 函数的友元机制详解

c++友元机制 2024-04-18 11:04:49 117人浏览 安东尼
摘要

c++++ 友元机制允许非成员函数或类访问其他类的私有或保护成员,以实现以下目的:允许非成员函数访问私有成员允许成员函数访问其他类的私有成员允许类成员函数访问另一个类的私有成员 C++

c++++ 友元机制允许非成员函数或类访问其他类的私有或保护成员,以实现以下目的:允许非成员函数访问私有成员允许成员函数访问其他类的私有成员允许类成员函数访问另一个类的私有成员

C++ 函数的友元机制详解

友元机制是一种允许函数或类访问其他类或函数的私有或保护成员的特征。在 C++ 中,友元机制可以实现以下目的:

  • 允许非成员函数访问类的私有成员
  • 允许类的成员函数访问另一个类的私有成员

语法

  • 全局函数友元声明:

    friend 返回值类型 函数名(参数列表);
  • 类友元声明:

    friend class 类名;
  • 类成员函数友元声明:

    friend 返回值类型 类名::成员函数名(参数列表);

实战案例:

问题:设计一个 Point 类,它有私有成员 xy,并且有一个打印所有私有成员的 print() 函数。现在,我们想要一个额外的 printInfo() 函数,它可以访问 Point 类的私有成员并打印它们。

实现:

// Point 类
class Point {
private:
    int x;
    int y;

public:
    // 友元函数,可以访问 Point 类的私有成员
    friend void printInfo(Point& point);

    // Point 类的成员函数
    void print() {
        std::cout << "x: " << x << ", y: " << y << std::endl;
    }
};

// 全局友元函数,可以访问 Point 类的私有成员
void printInfo(Point& point) {
    std::cout << "x: " << point.x << ", y: " << point.y << std::endl;
}

int main() {
    Point point{10, 20};
    point.print();  // 输出:x: 10, y: 20
    printInfo(point);  // 输出:x: 10, y: 20
    return 0;
}

以上就是C++ 函数的友元机制详解的详细内容,更多请关注编程网其它相关文章!

--结束END--

本文标题: C++ 函数的友元机制详解

本文链接: https://www.lsjlt.com/news/605673.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • C++之友元:友元函数和友元类详解
    一、友元介绍我们知道,类的成员函数可以访问同类的其他成员函数,包括公有、私有和保护成员。而类的外部函数只能访问类的公有成员。友元是一种允许非类成员函数访问类的非公有成员的一种机制。可...
    99+
    2022-11-15
    友元函数 友元类
  • C++中的友元函数与友元类详情
    目录一、问题背景二、友元函数三、友元类一、问题背景 对类的封装是C++三大特性中的一个重要特性,封装好的数据在类的外部是访问不到的但是一旦出了问题,想要操作被封装的数据怎么办呢?由此...
    99+
    2022-11-13
  • C++实例代码详解友元函数
    目录友元概述普通全局函数作为类的友元类的某个成员函数作为另一个类的友元一个类整体作为另一个类的友元友元的注意事项封装电视机 和遥控器的类友元函数 可以直接操作类的私有数据。 frie...
    99+
    2022-11-13
  • C++中友元函数(friend)解析
     文章转自公众号:Coder梁(ID:Coder_LT) 我们知道C++控制对象的私有部分的访问,只能通过公共的接口。这样的设计当然没错,但有的时候也会显得过于严格,产生一...
    99+
    2022-11-12
  • C++中成员函数和友元函数的使用及区别详解
    为什么使用成员函数和友元函数 这个问题至关重要,直接影响着后面的理解: 程序数据: 数据是程序的信息,会受到程序函数的影响。封装是面向对象编程中的把数据和操作数据的函数绑定在一起的一...
    99+
    2022-11-13
  • C++中友元函数与友元类的示例分析
    小编给大家分享一下C++中友元函数与友元类的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!一、问题背景对类的封装是C++三大特性中的一个重要特性,封装好的...
    99+
    2023-06-29
  • C++中友元函数friend该怎么解析
    这期内容当中小编将会给大家带来有关C++中友元函数friend该怎么解析,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。我们知道C++控制对象的私有部分的访问,只能通过公共的接口。这样的设计当然没错,但有的...
    99+
    2023-06-22
  • C++中类的友元机制是什么
    这篇文章主要为大家详细介绍了C++中类的友元机制是什么,文中示例代码介绍的非常详细,具有一定的参考价值,发现的小伙伴们可以参考一下:类的友元  友元是C++提供的一种破坏数据封装和数据隐藏的机制。  通过将一个模块声明为另一个模块的友元,一...
    99+
    2023-06-06
  • C++中函数匹配机制详解
    首先,编译器会确定候选函数然后确定可行函数可行函数,再从可行函数中进一步挑选 候选函数:重载函数集中的函数 可行函数:可以调用的函数 最后进行寻找最佳匹配 有以下几种规则 1.该函数...
    99+
    2022-11-13
  • C++友元函数的作用是什么
    C++友元函数的作用是允许一个函数访问一个类的私有成员和保护成员。通常情况下,只有类的成员函数可以访问类的私有成员和保护成员,但是有...
    99+
    2023-10-11
    C++
  • C++的友元和虚函数是什么
    这篇文章主要介绍了C++的友元和虚函数是什么的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇C++的友元和虚函数是什么文章都会有所收获,下面我们一起来看看吧。友元可以是一个函数,该函数被称为友元函数;友元也可以是...
    99+
    2023-06-17
  • C++超详细讲解友元的使用
    目录一、友元的概念二、友元的用法三、友元的语法四、友元的尴尬五、注意事项六、小结一、友元的概念 什么是友元友元是 C++ 中的一种关系友元关系发生在函数与类之间或者类与类之间友元关系...
    99+
    2022-11-13
  • 详解C++类的成员函数做友元产生的循环依赖问题
    目录类的声明类的成员函数做友元以及可能产生的循环依赖问题情况一:B类的成员函数func是A类的友元,且B类不依赖A类情况二:类B的成员函数func成员函数是类A的友元,且B类依赖于不...
    99+
    2022-11-13
  • C++类的特种函数生成机制详解
    目录C++类的特种函数生成机制规则例子:A BUG例子:std::mutex和std::thread题外话:为什么std::mutex不可移动?总结C++类的特种函数生成机制 规则 ...
    99+
    2022-11-12
  • C++中的成员函数和友元函数怎么使用
    成员函数是定义在类中的函数,它可以访问类中的成员变量和其他成员函数。成员函数使用类的对象来调用,并且隐式地访问该对象的成员。友元函数...
    99+
    2023-08-16
    C++
  • C++中友元的详解及其作用介绍
    目录概述友元普通的友元函数友元成员函数友元类总结概述 类的友元函数 (friend) 是定义在类外部, 但是有权限访问类的所有私有 (private) 成员和保护 (protecte...
    99+
    2022-11-12
  • 一篇文章详细解释C++的友元(friend)
    目录一.友元函数先看普通函数声明为友元函数:再看类成员函数声明为友元函数:最后说明二.友元类三.完整示例:四.同一个类(class)的类对象(object)互为友元总结一.友元函数 ...
    99+
    2022-11-13
  • C++中成员函数和友元函数的区别有哪些
    C++中成员函数和友元函数之间有以下几点区别:1. 访问权限:成员函数可以直接访问类的私有成员和保护成员,而友元函数可以在类的外部访...
    99+
    2023-08-16
    C++
  • 关于C++中的友元函数的一些总结
    1.友元函数的简单介绍 1.1为什么要使用友元函数 在实现类之间数据共享时,减少系统开销,提高效率。如果类A中的函数要访问类B中的成员(例如:智能指针类的实现),那么类A中该函数要是...
    99+
    2022-11-15
    友元函数 C++
  • C++中的随机数函数详解
    C++中的随机数函数详解随机数在计算机编程中起着重要的作用,它可以用于模拟随机事件、生成随机数序列等多种应用。C++语言中提供了一系列的随机数函数,方便开发人员进行随机数的生成和应用。本文将详细介绍C++中的随机数函数的使用方法和注意事项。...
    99+
    2023-11-18
    随机数生成器(Random Number Generator) 伪随机数(Pseudorandom Number) 随机
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作