0
点赞
收藏
分享

微信扫一扫

C++核心编程 15 友元

四月天2021 2022-01-31 阅读 47

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

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

二、类作为友元类

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


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

  1. 语法:friend+函数声明(函数类型+函数名称)
  2. //家建筑
    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;
};
举报

相关推荐

[C++]友元

C++友元

C++ 友元

C++友元函数和友元类

c++ 友元函数

0 条评论