#include <iostream>
#include<string>
using namespace std;
class Human
{
private:
string Name;
int Age;
friend class Utility;
public:
Human(string InputName,int InputAge)
{
Name = InputName;
Age = InputAge;
}
};
class Utility
{
public:
void DisplayAge(const Human& Person)
{
cout<<Person.Age<<endl;
}
};
int main()
{
Human FirstMan("Adam",25);
cout<<"Accessing private member Age via friend class: ";
Utility::DisplayAge(FirstMan);
}
で関数を呼び出しますオブジェクトなし?は、オブジェクトなしメンバ関数を呼び出すことはできませんが、私は私のコンパイラはまだ私が呼ぶと言い、なぜ私は..私はオブジェクト(FistMan)を送信行う関数を呼び出すunderstand..whenていないオブジェクト
静的にします。その後、それは動作します。 'static void DisplayAge(const Human&Person)'です。ユーティリティクラスでは、ほとんどの場合、すべての関数が静的です:) – tilz0R
オブジェクトを持つ関数を呼び出すことはありません。クラス名はオブジェクトではありません。最初にオブジェクトを作成する: 'ユーティリティの無能力;'その関数を呼び出す: 'myutility.DisplayAge(FirstMan);'。 – Galik
ええ、あなたは正しいです。ありがとうございます:) –