所以我想在C++中創建一個簡單的小數據庫來獲得樂趣。我想用數組來完成它。但我不斷收到錯誤。我希望它在用戶輸入學生信息後遞增整數'i'。這樣就可以輸入無限的姓名年齡。我想最終將用戶輸入的名字存入記事本。我可以在int main()中做到這一點,但我試圖用頭文件進行試驗。我有很多數組的麻煩。在C++頭中數組的問題
下面是我在頭文件和CPP文件中使用的一段代碼。我嘗試在public中聲明int'i'並在public中聲明int'b',並將它們放入數組中,然後將私有對象指向CPP文件中的公共,但它不起作用。 如果你們可以幫助我,那將是非常感謝!順便說一句,我是新來的,請原諒我的無知。我不是否我正確使用了指針。
#include <string>
class student3
{
protected:
int i;
std :: string *_studentFirstName[];
std :: string *_studentLastName[];
int *_studentAge[];
double *_studentGPA[];
public:
int b;
void setstudentFirstName(std :: string firstName[]);
void setstudentLastName(std :: string lastName[]);
void setstudentAge(int Age[]);
void setstudentGPA(double GPA[]);
std :: string getstudentFirstName();
std :: string getstudentLastName();
int getstudentAge();
double getstudentGPA();
}
#include "student3.h"
void student3 :: setstudentFirstName(std :: string firstName[b])
{
*_studentFirstName[i] = firstName[b];
}
void student3 :: setstudentLastName(std :: string lastName[b])
{
*_studentLastName[i] = lastName[b];
}
void student3 :: setstudentAge(int Age[b])
{
*_studentAge[i] = Age[b];
}
void student3 :: setstudentGPA(double GPA[b])
{
*_studentGPA[i] = GPA[b];
}
std :: string student3 :: getstudentFirstName()
{
return *_studentFirstName[i];
}
std :: string student3 :: getstudentLastName()
{
return *_studentLastName[i];
}
int student3 :: getstudentAge()
{
return *_studentAge[i];
}
double student3 :: getstudentGPA()
{
return *_studentGPA[i];
}
首先,我不認爲你實際上意味着使用指針的空數組。要繼續,你應該使用['std :: vector'](http://en.cppreference.com/w/cpp/container/vector)。我認爲你需要閱讀更多關於數組和指針的知識,它們的相似之處是什麼以及它們的區別是什麼。 –
如果你使用'C++',你應該真的使用'std :: vector' – lcs
這是真的編譯嗎?你錯過了一個;在類聲明的最後,在#include「student3.h」行前 – Bathsheba