定义一个类nauticalmile_kilometer,它包含两个数据成员kilometer(千米)和meter(米);还包含一个构造函数对数据成员进行初始化;成员函数print,用于输出数据成员kilometer和meter的值;类型转换函数operator double,实现把千米和米转换为海里(1海里=1.852千米)的功能。编写main函数,测试类nauticalmile_kilometer。
#include <iostream> using namespace std; class nauticalmile_kilometer { public: nauticalmile_kilometer(double k=0,double m=0):kilometer(k),meter(m){} operator double(); void print(); private: double kilometer,meter; }; nauticalmile_kilometer::operator double() //类型转换函数 { return (meter/1000.0+kilometer)/1852.0; } void nauticalmile_kilometer::print() { cout<<"kilometer:"<<kilometer<<endl; cout<<"meter:"<<meter<<endl; } int main() { nauticalmile_kilometer km(3,657); km.print(); cout<<"nauticalmile:"<<double(km)<<endl; //验证类型转换函数 }