c++高手帮帮忙啊

yuanjihua9205 2009-04-02 11:03:16
类Distances定义了3个变量:feet,yards,miles。下面4个方法是对类Distances的成员变量进行操作的:
addDistances:该方法把类Distances的两个变量相加并将结果存储在类Distance的第3个变量中。例如,2英里1750码2英尺+0英里10码2英尺=3英里1码1英尺。
convertFeet:该方法把英尺转换为Distances类型的变量。例如,6002英尺可被转换为1英里240码2英尺。
convertYards:该方法把码转换为Distances类型的变量类型。例如,5230码可转换为2英里1710码0英尺。
printDistance:该方法用来打印类Distances的变量值。
const int FEET_IN_YARDS=3;
const int YARDS_IN_MILES=1760;
class Distances
{
/*请在此输入数据成员的定义*/
public:
Distances();
Distance addDistance(Distance two);
static Distance convertYards(long yards);
static Distance convertFeet(long feet);
static void printDistance(Distance);
}
要求a: 请把上面各个方法体定义完整
b:请编写一个可以用来测试上述方法的main函数,要求用上述说明中给出的数据进行测试。
...全文
128 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
qzl123666 2009-04-07
  • 打赏
  • 举报
回复
#include "stdafx.h"
#include <iostream>
using namespace std;
class Distances
{
private:
long feet,yards,miles;
public:
Distances():feet(0),yards(0),miles(0){};
Distances(long f,long y,long m):feet(f),yards(y),miles(m){};
//Distances(Distances d):feet(d.feet),yards(d.yards),miles(d.yards){};
Distances addDistance(Distances two){
return Distances(this->feet+two.feet,this->yards+two.yards,this->miles+two.miles);
};
static Distances convertYards(long yards)
{
long m=yards/1760;
long y=yards%1760;
return Distances(0,y,m);
};
static Distances convertFeet(long feet)
{
long m=feet/5280;
long y=(feet%5280)/3;
long f=(feet%5280)%3;
return Distances(f,y,m);
} ;
static void printDistance(Distances d){
cout << "feet:" <<d.feet
<< "yards:" <<d.yards
<<"miles:" <<d.miles <<endl;
};
};

int main()
{
Distances ds=Distances(56,441,322);
Distances::printDistance(ds);
ds=Distances::convertFeet(10000);
Distances::printDistance(ds);
ds=Distances::convertYards(56561);
Distances::printDistance(ds);
}
yuanjihua9205 2009-04-04
  • 打赏
  • 举报
回复
那个程序执行不出来啊?
alwang_2008 2009-04-03
  • 打赏
  • 举报
回复
同意楼上的,建议数据feet,yards,miles定义成private的
alwang_2008 2009-04-03
  • 打赏
  • 举报
回复
同意楼上的,建议数据feet,yards,miles定义成private的
qzl123666 2009-04-03
  • 打赏
  • 举报
回复
class Distances
{
protected:
long feet,yards,miles;
public:
Distances();
Distances(long f,long y,long m):feet(f),yards(y),miles(m){};
Distances(Distances d):feet(d.feet),yards(d.yards),miles(d.yards){};
Distance addDistance(Distance two){
return Distance(this->feet+two.feet,this->yards+two.yards,this->miles+two.miles);
};
static Distance convertYards(long yards)
{
long m=yards/1760;
long y=yards%1760;
return Distances(0,y,m);
};
static Distance convertFeet(long feet)
{
long m=feet/5280;
long y=(feet%5280)/3;
long f=(feet%5280)%3;
return Distances(f,y,m);
} ;
static void printDistance(Distance d){
cout<< "feet:"<<d.feet
<< "yards:"<<d.yards
<<"miles:"<<d.miles<<endl;
};
}
yuanjihua9205 2009-04-03
  • 打赏
  • 举报
回复
万分感谢

65,211

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧