#include <iostream>
using namespace std;
class CArea
{
float area;
public:
CArea()
{
area=0;
}
CArea(float a) //重载含有一个参数的构造函数
{
area=a;
}
void getArea()
{
std::cout<<area<<std::endl;
}
void setArea(float a)
{
area=a;
}
operator float() //类型转换函数
{
//将面积类对象转换为float型数据
return area;
}
};
class CCircle
{
float R;
public:
void getR()
{
cout<<R<<endl;
}
void setR(float r)
{
R=r;
}
operator CArea() //类型转换函数
{ //将圆类对象转为面积类对象
float area=3.1415926*R*R;
return (CArea(area));
}
};
void main()
{
CCircle cir;
CArea are;
float a;
cir.setR(5);
cir.getR(); //打印圆的半径
are.getArea(); //打印转换前的面积
are=cir; //将圆类对象转为面积类对象
are.getArea(); //打印转换后的面积
a=are; //将面积类对象赋值为float型数据
cout<<a<<endl;
}
using namespace std;
class CArea
{
float area;
public:
CArea()
{
area=0;
}
CArea(float a) //重载含有一个参数的构造函数
{
area=a;
}
void getArea()
{
std::cout<<area<<std::endl;
}
void setArea(float a)
{
area=a;
}
operator float() //类型转换函数
{
//将面积类对象转换为float型数据
return area;
}
};
class CCircle
{
float R;
public:
void getR()
{
cout<<R<<endl;
}
void setR(float r)
{
R=r;
}
operator CArea() //类型转换函数
{ //将圆类对象转为面积类对象
float area=3.1415926*R*R;
return (CArea(area));
}
};
void main()
{
CCircle cir;
CArea are;
float a;
cir.setR(5);
cir.getR(); //打印圆的半径
are.getArea(); //打印转换前的面积
are=cir; //将圆类对象转为面积类对象
are.getArea(); //打印转换后的面积
a=are; //将面积类对象赋值为float型数据
cout<<a<<endl;
}