6-全局函数做友元

简介: 6-全局函数做友元
#include<bits/stdc++.h>
using namespace std;
class Building{
  //goodGay全局函数是Building的好朋友,可以访问Building 中的私有成员 
    friend void goodGay(Building *building);
  public:
    Building(){//初始化构造函数 
      m_SittingRoom="客厅";
      m_BedRoom="卧室";
    }
  public:
    string m_SittingRoom;//客厅
  private:
    string m_BedRoom;//卧室 
};
//全局函数
void  goodGay(Building *building){
  cout<<"好基友全局函数正在访问:"<<building->m_SittingRoom<<endl; 
  cout<<"好基友全局函数正在访问:"<<building->m_BedRoom<<endl; 
}
void test01(){
  Building building;
  goodGay(&building);
}
int main()
{
  //友元
    //全局函数做友元
    //类做友元
    //成员函数做友元 
  test01();
  return 0;
 } 


相关文章
|
8月前
|
C++ 开发者
43运算符重载函数作为类成员函数和友元函数
43运算符重载函数作为类成员函数和友元函数
37 0
|
8月前
|
C++ 编译器
|
8月前
|
C++
C++程序中的类成员函数
C++程序中的类成员函数
68 1
|
8月前
友元函数、成员函数和普通函数使用上的不同
友元函数、成员函数和普通函数使用上的不同
30 0
4.【拷贝构造函数与重载】
4.【拷贝构造函数与重载】
46 1
|
编译器 C++
C++ 重载函数
C++ 重载函数
61 0
|
编译器 C++
C++的重载运算符和重载函数
C++ 允许在同一作用域中的某个函数和运算符指定多个定义,分别称为函数重载和运算符重载。 重载声明是指一个与之前已经在该作用域内声明过的函数或方法具有相同名称的声明,但是它们的参数列表和定义(实现)不相同。 当您调用一个重载函数或重载运算符时,编译器通过把您所使用的参数类型与定义中的参数类型进行比较,决定选用最合适的定义。选择最合适的重载函数或重载运算符的过程,称为重载决策。 C++ 中的函数重载 在同一个作用域内,可以声明几个功能类似的同名函数,但是这些同名函数的形式参数(指参数的个数、类型或者顺序)必须不同。您不能仅通过返回类型的不同来重载函数。 下面的实例中,同名函数print
103 0
|
存储 Java
浅识静态函数
静态函数(百度):函数调用的结果不会访问或者修改任何对象(非static)数据成员,这样的成员声明为静态成员函数比较好。且如果static int func(....)不是出现在类中,则它不是一个静态成员函数,只是一个普通的全局函数,只不过由于 static 的限制,它只能在文件所在的编译单位内使用,不能在其它编译单位内使用。
运算符重载的函数作为类的成员函数和友元函数
🐰运算符重载的函数作为类的成员函数和友元函数 🌸运算符重载定义为类的成员函数 🌸运算符重载函数作为类的友元函数 🌸实现“+”,“-“的普通重载函数和友元重载函数 🌸单目运算符"++"和"--"的重载
|
编译器 C++
【C++】-- 构造函数、析构函数、拷贝构造函数、赋值运算符重载函数(二)
【C++】-- 构造函数、析构函数、拷贝构造函数、赋值运算符重载函数
【C++】-- 构造函数、析构函数、拷贝构造函数、赋值运算符重载函数(二)