C++友元関数の簡単な例

1030 ワード

友元関数専門解釈:友元関数はクラスのプライベートメンバーに直接アクセスできる非メンバー関数です.クラス外で定義される一般的な関数です.クラスには属しませんが、クラスの定義で宣言する必要があります.宣言するときは、友元の名前の前にキーワードfriendを付けるだけです.
 
私から見れば、友元関数は外部の関数がアクセスできる内部クラスの私有変数の形式を提供し、パッケージ性を破壊しているので、私は会社のプロジェクトがこの方式を使うのをあまり見ません.
サンプルコード:
#include "stdafx.h"

class Budget;

class Aux{
private:
	float auxBudget;
public:
	Aux(){
		auxBudget = 0;//     
	}

	float getAuxBudget(){
		return auxBudget;
	}

	//    
	void addBudget(float,Budget &);
};

class Budget{
	private:
	float allBudget;

public:
	friend void Aux::addBudget(float,Budget &);
};
// FriendFunc.cpp :              。
//

#include "stdafx.h"
#include "frienddemo.h"

int _tmain(int argc, _TCHAR* argv[])
{
	return 0;
}

void Aux::addBudget(float b,Budget & bud)
{
  auxBudget += b;
  bud.allBudget = auxBudget;
}

サンプルコードは次のとおりです.https://blog.csdn.net/m0_37655357/article/details/89322984
彼が完璧ではないものを補充して、ここで敬意を表します.
 
ちょうど2日続けて大丈夫なので,暇な時に研究してみるのもおもしろい.