#include <iostream>//友元类
using namespace std;
class Rectangle;//长方形类的声明,因为在正方形类中,声明了一个长方形的友元类
class Square//正方形的类
{
private:
int side;//正方形的边长
public:
void setside(int a)//设置正方形的边长
{
side=a;
}
friend class Rectangle;//声明正方形类的友元类
};
class Rectangle//长方形的类
{
private:
int width;//长方形的长
int height;//长方形的宽
public:
void set(int a,int b)//设置长方形的长和宽
{
width=a;
height=b;
}
int area()//计算长方形的面积
{
return (width*height);
}
void convert(Square a)//转换正方形的边长,利用友元类计算正方形的面积
{
width=a.side;
height=a.side;
}
};
void main()
{
Square test1;
Rectangle test2;
Rectangle test3;
test1.setside(5);
test2.convert(test1);
cout<<test2.area()<<endl;
test3.set(4,5);
cout<<test3.area()<<endl;
getchar();
}
c++的友元类
最新推荐文章于 2024-07-17 22:45:00 发布