c++友元のいくつかの状況
一、友元類
クラスのプライベートメンバーの場合、クラスのメンバー関数のみがアクセスでき、他のクラスはアクセスできません.友元クラスとは、現在のクラスにアクセスできる別のクラスのプライベートメンバーであり、現在のクラスで友元クラスを宣言できます.コードは次のとおりです.
二、友元方法:
クラスが1つのメソッドのみを別のクラスのプライベートメンバーにアクセスさせる場合は、別のクラスでメタクラスを宣言できます.
コードは次のとおりです.
三、外部メンバー関数を友元として宣言する
1、グローバル関数がクラスのプライベートメンバーにアクセスしたい場合は、クラスで友元として宣言することで、コードにアクセスできます.
2、クラス内で友元関数を定義した場合の効果は、外で定義したものと同じコードです.
クラスのプライベートメンバーの場合、クラスのメンバー関数のみがアクセスでき、他のクラスはアクセスできません.友元クラスとは、現在のクラスにアクセスできる別のクラスのプライベートメンバーであり、現在のクラスで友元クラスを宣言できます.コードは次のとおりです.
#include
using namespace std;
class A
{
private:
int num;
public:
A():num(0){cout << "A "<
二、友元方法:
クラスが1つのメソッドのみを別のクラスのプライベートメンバーにアクセスさせる場合は、別のクラスでメタクラスを宣言できます.
コードは次のとおりです.
#include
using namespace std;
class A;
class B
{
private:
A *b;
public:
B();
~B();
void display();
};
class A
{
private:
int num;
public:
A():num(0){cout << "A "<num << endl;
}
int main(void)
{
B c;
c.display();
return 0;
}
三、外部メンバー関数を友元として宣言する
1、グローバル関数がクラスのプライベートメンバーにアクセスしたい場合は、クラスで友元として宣言することで、コードにアクセスできます.
#include
using namespace std;
class A
{
private:
int num;
public:
A():num(0){cout << " "<
2、クラス内で友元関数を定義した場合の効果は、外で定義したものと同じコードです.
#include
using namespace std;
class A
{
private:
int num;
public:
A():num(0){cout << " "<