C++ 友元函数、友元类和友元成员函数(原创纯手码)

本文详细介绍了C++中的友元机制,包括友元函数、友元类和友元成员函数的概念和使用示例。通过友元,可以使得非成员函数或类能够访问类的私有和保护成员,扩展了访问权限。文章通过实例展示了友元的声明和使用,以及不声明友元时的编译错误,帮助读者深入理解友元的作用。
摘要由CSDN通过智能技术生成

1. 前言

友元,一种定义在类外部的普通函数或类,但它需要在类体内进行说明,为了与该类的成员函数加以区别,在说明时前面加以关键字friend。贴一下百度百科的解释百度百科-友元
通俗理解:在我的类里用friend声明了一个函数或者是类,则表示我把你当朋友,我享有的权利你都有。其实就是私有和保护权限。

2. 友元函数

通过让函数成为类的友元,可以赋予该函数与类的成员函数相同的访问权限。
用例子说明:

//原始类声明
class COriginal
{
public:
    COriginal();
    ~COriginal();
    void printOrg();

    friend int getOrg();
private:
    int m_org;
};

//原始类源码
COriginal::COriginal():m_org(1)
{
    cout << "Constructor of COriginal -->m_org:" << m_org << endl;
}

void COriginal::printOrg()
{
    Cfriend frd;
    cout << "printOrg" << frd.m_frd << endl;
}

int getOrg()
{
    COriginal original; //定义一个局部对象
    //使用了私有成员,且getOrg()不是原始类成员
    return original.m_org;
}

COrigi
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值