Klasse Vector mit strings - Wie?

lukasS

Erfahrenes Mitglied
Hallo,

ich bräuchte einen Array, der ähnlich dem CStringArray ist, wo ich keinen Index bei deklarieren angeben muss. Mit Vektoren ist sowas möglich (glaube ich). Im Internet habe ich eine Klasse gefunden, mit der es wunderbar funktioniert (siehe unten), aber leider nur mit Zahlen. Ich bräuchte sowas mit strings. Da ich noch ein C++ anfänger bin, weiß ich nicht wie ich das realisieren soll.

Wer kann mir Helfen? Bin für jede Hilfe dankbar!

Code:
class Vector
{
private:
	double *m_data;
	int m_size;
public:
	Vector(int);
	~Vector();

	double& operator[](int);
	int getSize();
	void grow(int);
};

Vector::Vector(int size)
{
	m_size = size;
	m_data = new double[m_size];
}

Vector::~Vector()
{
	delete[] m_data;
}

double& Vector::operator[](int index)
{
	assert(index >= 0);
	assert(index < m_size);
	return m_data[index];
}

int Vector::getSize()
{
	return m_size;
}

void Vector::grow(int newSize)
{
	// Diese Methode legt ein neues Array der neuen Größe an,
	double *newData = new double[newSize];

	// kopiert dann alle Werte des alten Arrays in das neue Array,
	for(int i = 0; i < m_size; ++i)
		newData[i] = m_data[i];

	// löscht das alte Array
	delete[] m_data;
	// und setzt dann die Attribute m_size und m_data auf die neuen Werte.

	m_size = newSize;
	m_data = newData;
}


Lukas
 
Da rate ich dir zum Standard:

std::vector -- ein Arraytemplate, inkludiere <vector>
std::string -- eine Stringklasse, inkludiere <string>

Ein "Array" von Strings:
Code:
#include <vector>
#include<string>

typedef std::vector< std::string > string_vector_type;

string_vector_type MeinStringVector;

Informationen zu vector und string/basic_string findest du zum Beispiel in der MSDn Lib.
 
Danke,

da ich aber LEIDER mit Borland 4.5.2 arbeiten muss, gibt es einige Header, wie vector.h gar nicht.

Ich glaube ich muss das irgendwie anders lösen. Trotzdem danke!

Lukas
 
vector kennt der nicht. Die Datei ist auch nicht zu finden. Es gibt nur eine _vector.h. Wenn ich die inkludiere dann habe sofort 26 Fehler :eek:

Die Datei einfach aus dem Visual Studio zu kopieren und einfügen, wird bestimmt nicht fehlerfrei funktionieren.

Lukas
 
Warum ziehst du denn nicht die neue Kompiler-Version kostenlos von Borland? Oder hast du Borland Builder und brauchst es unbedingt für GUI?
 
Neine, ich mache eine Projektarbeit für die Schule. Leider müssen wir nur mit diesem Compiler arbeiten und ein EasyWin - Projekt benutzen.

Ich persönlich bin nur mit dem VC++ 6.0 am Arbeiten (privat und beruflich).
 
Zurück