64,282
社区成员
发帖
与我相关
我的任务
分享
#ifndef _BOY_H
#define _BOY_H
//Boy.h
class Girl;
class Boy
{
public:
Boy();
Boy(char *n,int a);
void Disp(Girl &s);
//virtual ~Boy();
private:
char *name;
int age;
};
#endif
#include <stdio.h>
#include "Boy.h"
Boy::Boy()
{
name = NULL;
age = 0;
}
Boy::Boy(char *n,int a)
{
name = n;
age = a;
}
#ifndef _GIRL_H
#define _GIRL_H
//Girl.h
class Boy;
class Girl
{
public:
Girl();
Girl(char *n,int a);
friend void Boy::Disp(Girl &s);
//virtual ~Girl();
private:
char *name;
int age;
};
#endif
#include <stdio.h>
#include "Boy.h" //Must inlude begore Girl.h
#include "Girl.h"
Girl::Girl()
{
name = NULL;
age = 0;
}
Girl::Girl(char *n,int a)
{
name = n;
age = a;
}
void Boy::Disp(Girl &s)
{
printf("girl name=%s, age=%d\n", s.name, s.age);
}
//Main.cpp
#include <stdio.h>
#include "Boy.h"
#include "Girl.h"
int main()
{
Girl girl((char*)"Lily", 20);
Boy boy;
boy.Disp(girl);
return 0;
}
g++ Main.cpp Girl.cpp Boy.cpp
./a.out
girl name=Lily, age=20