FBIagent
Erfahrenes Mitglied
Moin,
wie im Betreff schon gesagt möchte ich ein Array mit elementen erweitern.
Dazu habe ich auch schon etwas Code geschrieben.
Die Klasse beinhaltet eine methode add(std::string);, diese soll das private Array
(pointer) der Klasse um ein Element erweitern.
Nur ist im nachhinein bei der Ausgabe nur 1 Element dort:
Dies gibt mir bei volgendem Testprogramm
folgenden output
Wäre nicht schlecht wenn ihr mir mit dem anhängen von Elementen helfen könntet.
THX im Vorraus,
FBIagent
wie im Betreff schon gesagt möchte ich ein Array mit elementen erweitern.
Dazu habe ich auch schon etwas Code geschrieben.
Die Klasse beinhaltet eine methode add(std::string);, diese soll das private Array
(pointer) der Klasse um ein Element erweitern.
Nur ist im nachhinein bei der Ausgabe nur 1 Element dort:
C++:
class extraStrList
{
private:
int _elementsCount;
std::string *_data;
public:
extraStrList()
{
_elementsCount = 0;
}
~extraStrList()
{
delete[] _data;
}
void add(std::string newData)
{
std::string *dataTemp = new std::string[_elementsCount+1];
for (int i=0;i<_elementsCount;i++)
dataTemp[i] = _data[i];
if (_elementsCount > 0)
delete[] _data;
dataTemp[_elementsCount] = newData;
_data = new std::string[_elementsCount+1];
*_data = *dataTemp;
delete[] dataTemp;
_elementsCount++;
}
std::string get(int element)
{
return _data[element];
}
int elementsCount()
{
return _elementsCount;
}
};
Dies gibt mir bei volgendem Testprogramm
C++:
#include <iostream>
#include ".\extraStrList.h"
int main()
{
extraStrList strList;
strList.add("eins");
strList.add("zwei");
strList.add("drei");
strList.add("vier");
strList.add("fünf");
for (int i=0;i<strList.elementsCount();i++)
std::cout << i << ": " << strList.get(i) << std::endl;
system("Pause");
return 0;
}
Code:
0: eins
1:
2:
3:
4:
Drücken Sie eine beliebige Taste . . .
Wäre nicht schlecht wenn ihr mir mit dem anhängen von Elementen helfen könntet.
THX im Vorraus,
FBIagent
Zuletzt bearbeitet von einem Moderator: