C ++第3の動作

C ++第3の動作

教育の目標

フレンド関数とその応用の基本的な概念をつかみ

 

ティーチング処理

定義:フレンド関数クラスのメンバーのいないすべてのメンバーがクラスにアクセスすることができたものの、いくつかの関数です。クラスはそれを特別な友人へのアクセス権を付与します。通常、同じ開発者の友人やメンバー関数のような技術的および非技術的なコントロールの理由のために意志(または、あなたのクラスを更新したいが、また、一部の他の所有者の同意)。

例:2点間の距離を求めます

クラス点{

公:

 ポイント(INT X = 0、Y = INT 0)、X(X {Y(Y){}

INTのgetX(){Xを返します;}

getYをINT(){それを返します;}

友人フロートDIST(ポイント&P1、ポイント&P2); //フレンド関数を宣言

プライベート:
int型のx、yの;

}

フロートDIST(ポイント&P1、ポイント&P2){

X = p1.x-p2.xダブル。

二重Y = p1.y-p2.y。

static_castを<フロート>(SQRT(X * X + Yの* yを))を返します。

}

  フレンド関数のプロトタイプは、ポイントクラス、クラス宣言の外のdistフレンド関数で宣言されています。

この例を視覚的にフレンド関数の使用ことを認識することができます。      

例2:
クラスA {

公:

        ボイドディスプレイ(){}

         INTのgetX(){reutrnのX;}

友人B;

プライベート:
int型のX;

}

クラスB ......略

 

 

注意:
1人の友情が渡されていません

2友人関係は一方向であります

3友情は継承されていません

 

まとめとリフレクション

まず、フレンド関数は、クラスの説明に記載しなければならない、とキーワードの友人で開始します

関数プロトタイプ機能について説明フレンド関数は、プライベートとパブリックの部分を含め、クラスのどこにでも現れることがあり、友人を踏襲しました。

第二に、直接、アクセスのみアクセスオブジェクトのメンバができないクラスメンバーのフレンド関数、

あなたはフレンド関数を呼び出すときに第三に、実際のパラメータは、オブジェクトにアクセスすることが指摘されるべきです、

第四に、別のクラスの友人が、クラスとして、クラスのメンバ関数を定義する必要があります。

おすすめ

転載: www.cnblogs.com/nianshaomingtu/p/11608247.html