C&C++   发布时间:2022-04-03  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了c++之友元大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

客厅:客人可以随意走动;卧室:只有自己能进去;

现在想要自己的好朋友可以进去,就需要用到友元技术。即友元的目的就是让一个函数或者类访问另一个类中私有成员。

关键字:friend

三种实现方法

全局函数做友元:

#include<iostream>
using namespace std;
class Building{
    friend void goodGay(Building* building);
public:
    Building() {
        room = "客厅";
        myRoom = 卧室;
    }
:
    String room;
private myRoom;
};
//全局函数
void goodGay(Building *building) {
    cout << 好朋友正在访问" <<building->room<< endl;
    如果不将dooGay变成Building的友元函数,这里就会报错
    cout << "好朋友正在访问" << building->myRoom << endl;
}
void test() {
    Building building;
    goodGay(&building);
}
int main() {
    test();
    system(pause);
    return 0;
}

类做友元:

说明:在类外定义成员函数时,需要先在类中声明函数。利用类名::函数名(),可以定义类的成员函数

#include<iostream>
 std;

 Building{
    friend class GoodGay;
 room;
    Building();
类外写成员函数
Building::Building() {
    room = ;
    myRoom = ;
}

 GoodGay {
:
    Building* building;
    GoodGay();
     visit();
};
GoodGay::GoodGay() {
    building = new Building();
}
 GoodGay::visit() {
    cout << 好基友类正在访问" << building->room << endl;
    cout << "好基友类正在访问:" << building->myRoom << test() {
    GoodGay gg;
    gg.visit();
}
成员函数做友元:

#include<iostream>
 Building;
 GoodGay;

要先定义GoodGay类。。。
我尝试在Building之后定义,就不行,之前也先声明了这两个类
:
    GoodGay();
    void visit();让该函数可以访问Building的私有成员
     visit2();
 building;
};

void GoodGay::visit();
;
}

GoodGay::GoodGay() {
    building =  endl;
    cout  GoodGay::visit2() {
    cout << cout << "好基友类正在访问:" << building->myRoom << endl;
}
 test2() {
    GoodGay gg;
    gg.visit2();
}
;
}
本图文内容来源于网友网络收集整理提供,作为学习参使用,版权属于原作者。

大佬总结

以上是大佬教程为你收集整理的c++之友元全部内容,希望文章能够帮你解决c++之友元所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: