c++笔记:友元函数

友元函数不是类的成员函数,本质上仍是普通函数,却能像成员函数那样访问类的私有成员.

1.友元函数是定义在类外的普通函数,它不属于任何类,但需要在类的定义中加以声明,声明时只需在友元的名称前加上关键字friend

2.友元函数的声明可以放在类的私有部分,也可以放在公有部分

3.一个函数可以是多个类的友元函数,只需要在各个类中分别声明

简单规则:

1.如果函数要执行的任务只涉及一个对象,就使用成员函数

2.如果要执行的任务涉及对歌对象,就使用非成员函数

#include <iostream>
using namespace std

class DayOfYear
{
public:
    friend bool equal(DayOfYear date1,DayOfYear date2);

    DayOfYear(int the_month,int the_day);

    DayOfYear();

private:
    void check_date();
    int month;
    int day;
}

int main()
{

}

bool equal(DayOfYear date1,DayOfYear date2)
{
    return (date1.month==date2.month && date1.day==date2.day)
}

原文地址:https://www.cnblogs.com/nethirte/p/3119078.html