我想創建一個在英里,米,英尺,英寸和碼之間轉換的類。據說我的返回語句沒有存儲任何值,我被告知我不需要這麼多的函數,而且我的打印函數是空的,因爲我無法弄清楚要放入什麼內容,所以我長期以來一直使用它。我知道很多問題,我正在尋找指導。我一直在尋找大量的文檔,並沒有得到它 - 也許有人可以用外行的話來解釋。期待創建一個距離轉換類
#include <string>
#include <iostream>
using namespace std;
class DistanceConverter { //Class name
public:
DistanceConverter() { //Default constructor
miles_ = 0;
}
DistanceConverter(double Miles) { //Overload constructor
miles_ = Miles;
}
//Miles mutators and accessors
void SetMilesToMeters(double Miles) {
miles_ = Miles * 1609.34;
}
double GetMilesFromMeters() {
return miles_;
}
void SetMilesToInches(double Miles) {
miles_ = Miles * 63360;
}
double GetMilesFromInches() {
return miles_;
}
void SetMilesToFeet(double Miles) {
miles_ = Miles * 5280;
}
double GetMilesFromFeet() {
return miles_;
}
void SetMilesToYards(double Miles) {
miles_ = Miles * 1760;
}
double GetMilesFromYards() {
return miles_;
}
//Yards mutators and accessors
void SetYardsToMiles(double Miles) {
miles_ = Miles/1760;
}
double GetYardsFromMiles() {
return miles_;
}
void SetYardsToFeet(double Miles) {
miles_ = Miles * 3;
}
double GetYardsFromFeet() {
return miles_;
}
void SetYardsToInches(double Miles) {
miles_ = Miles * 36;
}
double GetYardsFromInches() {
return miles_;
}
void SetYardsToMeters(double Miles) {
miles_ = Miles * 0.9144;
}
double GetYardsFromMeters() {
return miles_;
}
//Feet mutators and accessors
void SetFeetToMiles(double Miles) {
miles_ = Miles/5280;
}
double GetFeetFromMiles() {
return miles_;
}
void SetFeetToYards(double Miles) {
miles_ = Miles/3;
}
double GetFeetFromYards() {
return miles_;
}
void SetFeetToInches(double Miles) {
miles_ = Miles * 12;
}
double GetFeetFromInches() {
return miles_;
}
void SetFeetToMeters(double Miles) {
miles_ = Miles * 0.3048;
}
double GetFeetFromMeters() {
return miles_;
}
//Inches mutators and accessors
void SetInchesToMiles(double Miles) {
miles_ = Miles/63360;
}
double GetInchesFromMiles() {
return miles_;
}
void SetInchesToYards(double Miles) {
miles_ = Miles/36;
}
double GetInchesFromYards() {
return miles_;
}
void SetInchesToMeters(double Miles) {
miles_ = Miles * 0.0254;
}
double GetInchesFromMeters() {
return miles_;
}
void SetInchesToFeet(double Miles) {
miles_ = Miles/12;
}
double GetInchesFromFeet() {
return miles_;
}
//Meters mutators and accessors
void SetMetersToMiles(double Miles) {
miles_ = Miles/1609.34;
}
double GetMetersFromMiles() {
return miles_;
}
void SetMetersToYards(double Miles) {
miles_ = Miles/0.9144;
}
double GetMetersFromYards() {
return miles_;
}
void SetMetersToFeet(double Miles) {
miles_ = Miles/0.3048;
}
double GetMetersFromFeet() {
return miles_;
}
void SetMetersToInches(double Miles) {
miles_ = Miles/0.0254;
}
double GetMetersFromInches() {
return miles_;
}
//Print function
void PrintDistances() {}
private:
double miles_;
};
int main() {
//Mile objects
DistanceConverter MileToMeter;
DistanceConverter MileToInch;
DistanceConverter MileToFeet;
DistanceConverter MileToYard;
//Yard objects
DistanceConverter YardToMile;
DistanceConverter YardToFeet;
DistanceConverter YardToInch;
DistanceConverter YardToMeter;
//Feet Objects
DistanceConverter FeetToMile;
DistanceConverter FeetToYard;
DistanceConverter FeetToInch;
DistanceConverter FeetToMeter;
//Inch objects
DistanceConverter InchToMile;
DistanceConverter InchToYard;
DistanceConverter InchToMeter;
DistanceConverter InchToFeet;
//Meter Objects
DistanceConverter MeterToMile;
DistanceConverter MeterToYard;
DistanceConverter MeterToFeet;
DistanceConverter MeterToInch;
//Miles to X conversions
MileToMeter.SetMilesToMeters(1);
cout<<"Miles to meters: " << MileToMeter.GetMilesFromMeters() << endl;
MileToMeter.PrintDistances();
MileToInch.SetMilesToInches(1);
cout<<"Miles to inches: " << MileToInch.GetMilesFromInches() << endl;
MileToInch.PrintDistances();
MileToFeet.SetMilesToFeet(1);
cout<<"Miles to feet: " << MileToFeet.GetMilesFromFeet() << endl;
MileToFeet.PrintDistances();
MileToYard.SetMilesToYards(1);
cout<<"Miles to yards: " << MileToYard.GetMilesFromYards() << endl;
MileToYard.PrintDistances();
//Yards to X conversions
YardToMile.SetYardsToMiles(10.5);
cout<<"Yards to miles: " << YardToMile.GetYardsFromMiles() << endl;
YardToMile.PrintDistances();
YardToFeet.SetYardsToFeet(20);
cout<<"Yards to feet: " << YardToFeet.GetYardsFromFeet() << endl;
YardToMile.PrintDistances();
YardToInch.SetYardsToInches(5.3);
cout<<"Yards to inches: " << YardToInch.GetYardsFromInches() << endl;
YardToMile.PrintDistances();
YardToMeter.SetYardsToMeters(11);
cout<<"Yards to meters: " << YardToMeter.GetYardsFromMeters() << endl;
YardToMile.PrintDistances();
//Feet to X conversions
FeetToMile.SetFeetToMiles(16);
cout<<"Feet to miles: " << FeetToMile.GetFeetFromMiles() << endl;
YardToFeet.PrintDistances();
FeetToYard.SetFeetToYards(16);
cout<<"Feet to yards: " << FeetToYard.GetFeetFromYards() << endl;
FeetToYard.PrintDistances();
FeetToInch.SetFeetToInches(2);
cout<<"Feet to inches: " << FeetToInch.GetFeetFromInches() << endl;
FeetToInch.PrintDistances();
FeetToMeter.SetFeetToMeters(11);
cout<<"Feet to meters: " << FeetToMeter.GetFeetFromMeters() << endl;
FeetToMeter.PrintDistances();
//Inches to X conversions
InchToMile.SetInchesToMiles(100);
cout<<"Inches to miles: " << InchToMile.GetInchesFromMiles() << endl;
InchToMile.PrintDistances();
InchToYard.SetInchesToYards(15);
cout<<"Inches to yards: " << InchToYard.GetInchesFromYards() << endl;
InchToYard.PrintDistances();
InchToMeter.SetInchesToMeters(55);
cout<<"Inches to meters: " << InchToMeter.GetInchesFromMeters() << endl;
InchToMeter.PrintDistances();
InchToFeet.SetInchesToFeet(12);
cout<<"Inches to feet: " << InchToFeet.GetInchesFromFeet() << endl;
InchToFeet.PrintDistances();
//Meter to X conversions
MeterToMile.SetMetersToMiles(1);
cout<<"Meters to miles: " << MeterToMile.GetMetersFromMiles() << endl;
MeterToMile.PrintDistances();
MeterToYard.SetMetersToYards(100);
cout<<"Meters to yards: " << MeterToYard.GetMetersFromYards() << endl;
MeterToYard.PrintDistances();
MeterToFeet.SetMetersToFeet(100);
cout<<"Meters to feet: " << MeterToFeet.GetMetersFromFeet() << endl;
MeterToFeet.PrintDistances();
MeterToInch.SetMetersToInches(100);
cout<<"Meters to inches: " << MeterToInch.GetMetersFromInches() << endl;
MeterToInch.PrintDistances();
}
說不上爲什麼我總是被拒絕投票提問。 – JKOW12
你錯過了一個具體的問題;我們無法回答沒有問題的事情。此外,你似乎有工作代碼;您可以發佈到http://codereview.stackexchange。com /爲改進您的代碼的建議 – vu1p3n0x
對不起。我的具體問題是:1.如何使用較少的函數來做到這一點2.爲什麼返回語句不存儲任何值?並且忘記打印功能,因爲我認爲打印功能一旦解決了1和2就會變得更有意義。 – JKOW12