OOP を学習しようとしていますが、次のプログラムを理解するのに問題があります。
#include<iostream>
#include<conio.h>
#include<string.h>
using namespace std;
class A
{
public:
A(int i) : m(i){}
friend class B;
friend void g_afiseaza_m();
private:
int m;
};
class B
{
public:
void afiseaza_m()
{
A a(250);
cout<<"clasa B este prietena cu clasa A"<<endl<<" poate accesa membrul privat A::m"<<endl<<a.m<<endl;
}
};
void g_afiseaza_m()
{
A a(300);
cout<<"functia g_afiseaza_m nu este un membru al clasei A dar este prieten"<<endl<<"poate accesa membrul privat A::m"<<endl<<a.m<<endl;
}
int main()
{
B b;
b.afiseaza_m();
g_afiseaza_m();
getch();
return 0;
}
public:A(int i) :m(i){} private: int m という行が何をするのか教えてください。A が int パラメーター i を持つコンストラクターであり、 m がクラス A のプライベート メンバーであることは理解していますが、 m(i) とは何か理解できません。これは構文の問題ですか?