13-4.cpp

来自「为C++学习者」· C++ 代码 · 共 62 行

CPP
62
字号
#include<iostream.h>
#include<iomanip.h>
const double NTK=1.852;
class nautical_kilo
{
private:
   int kilometer;
   double meter;
public:
  nautical_kilo() 
  {
    kilometer=0;
    meter=0.0;
   }
  nautical_kilo(double nau_mile)     //一个参数的构造函数
  {                                  //将双精度型转换成nautical_kilo类型
    double nautical_mile=nau_mile*NTK;
    kilometer=int(nautical_mile);
    meter=(nautical_mile-kilometer)*1000;
   }
  nautical_kilo(int km,double m)     //两个参数的构造函数
  {
    kilometer=km;meter=m;
  }
  void get()
  {
  cout<<"Input Kilo meters:";
  cin>>kilometer;
  cout<<"Input meters:";
  cin>>meter;
  }
  void show()
  {
    cout<<setprecision(2)
        <<kilometer<<"Kilo meters,"
        <<int(meter)<<"meters."<<endl;
  }
  operator double()               //类型转换函数,将nautical_kilo类型转换成双精度型
  {
    double fkm=meter/1000;
    fkm+=double(kilometer);
    return fkm/NTK;
  }
};
main()
{
  nautical_kilo r1(200);
  cout<<"\n Length of r1:";r1.show();
  r1=1000;
  cout<<"Length of r1:";r1.show();
  nautical_kilo r2(100,500);
  double mi=double(r2);
  cout<<"Length of r2:"<<mi<<"nautical_mile."<<endl;
  mi=r1;
  cout<<"Length of r1:"<<mi<<"nautical_mile."<<endl;
  nautical_kilo r3;
  r3.get();
  mi=double(r3);
  cout<<"Length of r3:"<<mi<<"nautical_mile."<<endl;
  return 0;
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?