C++核心编程 15 友元

C++核心编程 15 友元,第1张

C++核心编程 15 友元

友元,使非成员函数可以访问类内私有属性。

一、全局函数作为友元函数

二、类作为友元类

三、成员函数作为友元函数


一、全局函数作为友元函数

    语法:friend+函数声明(函数类型+函数名称)
    //家建筑
    class Building
    {
    	//有一个全局函数 作为本类的友元函数,可以继续访问到私有内容
    	friend void goodGay(Building& building);
    public:
    	Building()
    	{
    		this->m_BedRoom = "卧室";
    	}
    
    
    private:
    	//卧室
    	string m_BedRoom;
    
    };

    二、类作为友元类

        1.语法:friend+类声明(class+类名称)

        2.

class goodGay
{
public:
	goodGay();
	void visit();
private:
	Building* building;
};
//家建筑
class Building
{
	//告诉编译器 goodGay类是本类的好朋友,可以访问到里面私有成员
	friend class goodGay;

public:
	Building();
private:
	//卧室
	string m_BedRoom;
};

 三、成员函数作为友元函数

        1.写法:friend+成员函数声明(函数类型+类名称+::+成员函数名称)

        2.

class goodGay
{
public:
	goodGay();
	void visit();//visit 可以访问到Building中私有属性
	void visit2();//visit2 不可以访问到Building中私有属性
private:
	Building* building;
};
//家建筑
class Building
{
	friend void goodGay::visit();
public:
	Building();
public:
	//客厅
	string m_SittingRoom;
private:
	//卧室
	string m_BedRoom;
};

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5718834.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-17
下一篇 2022-12-18

发表评论

登录后才能评论

评论列表(0条)

保存