摘记

#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;                    
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值