#include <iostream.h>
#include <string.h>
#include <stdio.h> //getchar関数
class Test2; //Test2クラスの宣言
class Test1
{
private:
int buf;
public:
Test1(int buf2){buf=buf2;}
friend int Add(Test1 *a,Test2 *b);
};
class Test2
{
private:
int buf;
public:
Test2(int buf2){buf=buf2;}
friend int Add(Test1 *a,Test2 *b);
};
int Add(Test1 *a,Test2 *b)
{
return a->buf+b->buf ;
}
int main(void)
{
Test1 A(10);
Test2 B(5);
//フレンド関数はTest1.AddまたはTest2.Addではなくそのままの関数呼び出しで呼ぶ。
cout<<Add(&A,&B)<<endl;
getchar();
return 0;
} |