c++友元

本文详细介绍了C++中的友元机制,包括友元的作用、三种实现方式:全局函数作为友元、类作为友元以及类中成员函数作为友元。通过示例代码展示了如何使用友元来访问私有成员,从而突破封装限制,实现特定功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

友元

  1. 友元的作用

让另一个函数或类可以访问另一个类中的私有成员,其关键字为friend

     2、友元的三种实现

   

目录 

             友元

                1、友元的作用

                2、友元的三种实现

    a、全局函数做友元

     b、类做友元

     c、一个类中的成员函数做


a、全局函数做友元

#include <iostream>

#include <string>

using namespace std;

class Building{

   friend void print(Building *b);//将全局函数的声明写入结构体,使该函数可以访问类中的私有变量

public :

    Building();

    string SettingRoom;

private:

    string BedRoom;

};

Building::Building()

{

    SettingRoom="客厅";

    BedRoom="卧室";

}

void print(Building *b)//全局函数函数体的实现

{

    cout<<"正在访问 :"<<b->SettingRoom<<endl;//运用指针操作

    cout<<"正在访问 :"<<b->BedRoom<<endl;//该变量为私有变量

}

int main()

{

    Building b;

    print(&b);//传入地址

    return 0;

     b、类做友元

       将以结构体a写入另一结构体b即可通过a访问b中的私有成员

        Friend class a;

     c、一个类中的成员函数做

友元

      类a 中的成员函数做类b的友元,需要将以下代码写入类b 的最开始

          Friend class a::函数名;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值