Ich versuche, einen Vektor einzurichten, um eine Gruppe von Baseball-Werfern zu speichern. Ich möchte den Namen eines Werfers, Joe Smith (string), und seinen erzielten Durchschnitt der letzten beiden Jahre - 2,44 und 3,68, speichern. Ich möchte auch den Namen eines zweiten Werfers - Bob Jones (string) - und seinen erzielten Durchschnitt von 5,22 und 4,78 speichern. Dies ist Teil einer größeren Hausaufgabe, aber ich habe gerade erst angefangen, Vektoren zu verwenden. Das Problem, das ich habe, ist, dass mein Lehrbuch sagt, dass Vektoren nur verwendet werden können, um Werte desselben Typs zu speichern, und alle Beispiele, die ich finde, verwenden hauptsächlich Integer-Werte. Zum Beispiel habe ich dieses Beispiel auf cplusplus.com gefunden
// Vektoren erstellen
#include
#include
int main ()
{
unsigned int i;
// Verwendete Konstruktoren in der gleichen Reihenfolge wie oben beschrieben:
std::vector first; // leerer Vektor von ints
std::vector second (4,100); // vier ints mit dem Wert 100
std::vector third (second.begin(),second.end()); // Iteration durch second
std::vector fourth (third); // eine Kopie von third
// Der Iterator-Konstruktor kann auch verwendet werden, um aus Arrays zu konstruieren:
int myints[] = {16,2,77,29};
std::vector fifth (myints, myints + sizeof(myints) / sizeof(int) );
std::cout << "Der Inhalt von fifth lautet:";
for (std::vector::iterator it = fifth.begin(); it != fifth.end(); ++it)
std::cout << ' ' << *it;
std::cout << '\n';
return 0;
}
Gibt es einen Weg, diesen Code so zu ändern, dass er einen String und zwei Doubles akzeptiert? Ich muss keine Eingabe vom Benutzer erhalten, ich muss nur die beiden Werfer in int main() initialisieren. Ich habe bereits eine Klasse für sie eingerichtet, wie unten gezeigt, aber die Aufgabe erfordert einen Vektor.
#ifndef PITCHER_H
#define PITCHER_H
#include
using namespace std;
class Pitcher
{
private:
string _name;
double _ERA1;
double _ERA2;
public:
Pitcher();
Pitcher(string, double, double);
~Pitcher();
void SetName(string);
void SetERA1(double);
void SetERA2(double);
string GetName();
double GetERA1();
double GetERA2();
};
#endif
#include "Pitcher.h"
#include
#include
#include
#include
using namespace std;
Pitcher::Pitcher()
{
}
Pitcher::Pitcher(string name, double ERA1, double ERA2)
{
_name = name;
_ERA1 = ERA1;
_ERA2 = ERA2;
}
Pitcher::~Pitcher()
{
}
void Pitcher::SetName(string name)
{
_name = name;
}
void Pitcher::SetERA1(double ERA1)
{
_ERA1 = ERA1;
}
void Pitcher::SetERA2(double ERA2)
{
_ERA2 = ERA2;
}
string Pitcher::GetName()
{
return _name;
}
double Pitcher::GetERA1()
{
return _ERA1;
}
double Pitcher::GetERA2()
{
return _ERA2;
}
#include
#include
#include
#include
#include "Pitcher.h"
using namespace std;
int main()
{
Pitcher Pitcher1("Joe Smith", 2.44, 3.68);
cout << Pitcher1.GetName() << endl;
cout << Pitcher1.GetERA1() << endl;
cout << Pitcher1.GetERA2() << endl;
system("PAUSE");
return 0;
}