📄 13-8.cpp
字号:
#include<iostream.h>
class Metric;
class English
{
int foot,inch;
public:
English()
{
foot=inch=0;
}
English(int val1,int val2)
{
foot=val1;
inch=val2;
}
void display()
{
cout<<foot<<"ft."<<inch<<"in."<<endl;
}
operator Metric(); //类型转换函数,将英制转换成公制
};
class Metric
{
int metre,cm;
public:
Metric()
{
metre=cm=0;
}
Metric(int val1,int val2)
{
metre=val1;
cm=val2;
}
void display()
{
cout<<metre<<"m"<<cm<<"cm"<<endl;
}
operator English(); //类型转换函数,将公制转换成英制
};
Metric::operator English()
{
int foot=(metre+cm*0.01)/0.305;
int inch=int((metre+cm*0.01)/0.305-foot+0.5)*12.0;
return English(foot,inch);
}
English::operator Metric()
{
int metre=(foot+inch/12.0)*0.305;
int cm=((foot+inch/12.0)*0.305-metre)*100;
return Metric(metre,cm);
}
void main()
{
English A(10,10);
Metric B;
B=A;
cout<<"The distance for object A is:";
A.display();
cout<<"The distance for object B is:";
B.display();
Metric C(10,10);
English D;
D=C;
cout<<"The distance for object C is:";
C.display();
cout<<"The distance for object D is:";
D.display();
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -