我有動態數組的問題。該代碼不插入也不輸出任何數據。我不知道我犯了什麼錯誤。 函數addEntry和deleteEntry似乎是錯誤的,但我對C++非常缺乏經驗,任何見解都會有所幫助。動態數組輸出C++
#include<iostream>
#include<string>
#include<cstdlib>
using namespace std;
class DynamicStringArray {
public:
DynamicStringArray();
DynamicStringArray(const DynamicStringArray& dsa);
~DynamicStringArray();
int getSize() const;
void addEntry(string element);
bool deleteEntry(string element);
void operator = (const DynamicStringArray &dsa);
string getEntry(int);
private:
int size;
string *dynamicArray;
};
DynamicStringArray::DynamicStringArray()
{
size = 0;
dynamicArray = NULL;
}
DynamicStringArray::DynamicStringArray(const DynamicStringArray & dsa)
{
size = dsa.size;
string *dynamicArray = dsa.dynamicArray;
}
DynamicStringArray::~DynamicStringArray()
{
delete[] dynamicArray;
}
int DynamicStringArray::getSize() const
{
return size;
}
void DynamicStringArray::addEntry(string element)
{
string *tempArray;
tempArray = new string[size + 1];
int i = 0;
while (i < size)
{
tempArray[i] = dynamicArray[i];
tempArray[size + 1] = element;
delete[] dynamicArray;
string *dynamicArray = new string[size];
dynamicArray[i] = tempArray[i];
delete[] tempArray;
i++;
}
}
bool DynamicStringArray::deleteEntry(string element)
{
bool check = false;
int i = 0;
while (i < size)
{
if (dynamicArray[i] == element)
check = true;
}
if (check == true)
{
string *pomocniArray = new string[size - 1];
while (i < size)
{
if (dynamicArray[i] != element)
pomocniArray[i] = dynamicArray[i];
size--;
}
delete[] dynamicArray;
string *dynamicArray = new string[size];
for (int i = 0; i < size; i++)
dynamicArray[i] = pomocniArray[i];
delete[] pomocniArray;
return check;
}
}
void DynamicStringArray::operator=(const DynamicStringArray & dsa)
{
size = dsa.size;
string *dynamicArray = dsa.dynamicArray;
}
string DynamicStringArray::getEntry(int i)
{
return dynamicArray[i];
}
int main()
{
DynamicStringArray dsa;
dsa.addEntry("Michael");
dsa.addEntry("Rezzy");
dsa.addEntry("John");
system("Pause");
return 0;
}
當您使用調試器逐步執行代碼時,您觀察到了什麼? –
問題是我無法輸入數據,他們不讓我去做:( – xerror
@xerror'他們不讓我這麼做' - 他們* *他們* – PaulMcKenzie