作成したArrayListを使用してHomeworkDatabaseのクラスを機能させています。私はまだ初心者なので、コードにはおそらく多くのエラーがあります。メインで初期化されていない理由がわかりません。これが私のコードです:
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;
}
メインの場合、エラーが発生します。
HomeworkMain.cpp:11:9: error: ‘HomeworkDatabase’ was not declared in this scope
HomeworkMain.cpp:10:43: error: template argument 1 is invalid
インクルードガードにエラーがありますHomeworkDatabase.h
:
#ifdef HomeworkDatabase_H
それは違いない:
#ifndef HomeworkDatabase_H
他にもいくつかのエラーがありますが、インクルードガードが修正されると、すべて表示されます。たとえば、string
なし#include <string>
との使用std::
。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加