Ich lasse eine Klasse von HomeworkDatabase mit einer von mir erstellten ArrayList arbeiten. Es gibt wahrscheinlich viele Fehler in meinem Code, da ich noch ein Anfänger bin. Ich verstehe nur nicht, warum es in der Hauptsache nicht initialisiert wird. Hier ist mein Code:
HomeworkDatabase.h:
#ifdef HomeworkDatabase_H
#define HomeworkDatabase_H
class HomeworkDatabase
{
private:
string className;
string homework;
int dueDate;
public:
HomeworkDatabase(string className, string homework, int dueDate);
HomeworkDatabase();
string getClass();
string getHomework();
int getDueDate();
};
#endif
HomeworkDatabase.cpp:
#include "HomeworkDatabase.h"
#include <iostream>
#include <string>
using namespace std;
HomeworkDatabase::HomeworkDatabase( string className, string homework, int dueDate)
{
this->className = className;
this->homework = homework;
this->dueDate = dueDate;
}
HomeworkDatabase::HomeworkDatabase()
{
this->dueDate = NULL;
}
string getClass::getClass()
{
return className;
}
string getHomework::getHomework()
{
return homework;
}
int getDueDate::getDueDate()
{
return dueDate;
HomeworkArrayList.cpp:
#include <iostream>
#include <string>
#include "HomeworkDatabase.h"
using namespace std;
template <class HomeworkDatabase>
class HomeworkArrayList
{
private:
int maxSize;
int curr;
int listSize;
HomeworkDatabase* homework;
public:
HomeworkArrayList(int size)
{
maxSize = size;
listSize = 0;
curr = 0;
homework = new HomeworkDatabase[size];
}
~HomeworkArrayList()
{
delete [] homework;
}
void append(const HomeworkDatabase& object )
{
homework[listSize] = object;
listSize++;
}
void frontOfList()
{
curr = 0;
}
void backOfList()
{
curr = listSize;
}
void prev()
{
curr--;
}
void next()
{
curr++;
}
int getSize()
{
return listSize;
}
}
HomeworkMain.cpp:
#include <iostream>
#include <string>
#include "HomeworkArrayList.cpp"
#include "HomeworkDatabase.h"
using namespace std;
int main()
{
HomeworkArrayList<HomeworkDatabase> today = HomeworkArrayList<HomeworkDatabase>(50);
HomeworkDatabase one("Intro to Programming","Read Chapter 1", 12);
return 0;
}
Hauptsächlich bekomme ich die Fehler:
HomeworkMain.cpp:11:9: error: ‘HomeworkDatabase’ was not declared in this scope
HomeworkMain.cpp:10:43: error: template argument 1 is invalid
Es gibt einen Fehler in Ihrem Include Guard in HomeworkDatabase.h
:
#ifdef HomeworkDatabase_H
Es muss sein:
#ifndef HomeworkDatabase_H
Es gibt einige andere Fehler, die alle sichtbar werden, sobald der Include-Schutz behoben ist. Zum Beispiel Ihre Verwendung von string
ohne #include <string>
und std::
.
Dieser Artikel stammt aus dem Internet. Bitte geben Sie beim Nachdruck die Quelle an.
Bei Verstößen wenden Sie sich bitte [email protected] Löschen.
Lass mich ein paar Worte sagen