我記得在Java中做了這樣的事情,但那是一段時間後,我知道你可以從沒有對象的類調用一個函數。但我不知道如何在類的頭文件和實現文件中實現它。基本上我一直在研究一個讀取文件的函數,並在數組的某些索引中設置變量。我知道靜態對象不能訪問非靜態對象。但我記得之前做過這樣的事情。使用沒有對象的類函數
int Person::readFile(Person person[], int counter) {
ifstream infile;
infile.open("People.txt");
while(!infile.eof()) {
infile >> person[counter].firstName >> person[counter].lastName >> person[counter].age >> person[counter].gender;
counter++;
}
infile.close();
return counter;
}
我希望它讀取前4個文件元素並將它們設置爲當前索引,然後轉到下一個數組索引。我打算讓它成爲一個單獨的函數,但是標準是在頭文件和實現文件中包含所有內容。它在我使用時運行良好
Person people[MAX_SIZE];
int i = 0;
people[i].readFile(people, i);
這是好的,因爲我敢肯定這是可以接受的。但我希望它像這些線中的任何一條。
readFile(people, i);
Person::readFile(people, i);
我覺得用對象來設置對象變量數組是沒有意義的。謝謝任何人的評論,如果有更好的方法,請讓我知道。
爲了能夠做到這一點,該函數必須聲明爲「static」。 – CoryKramer 2014-10-06 16:11:53
使'Person :: readFile'靜態。 – 0x499602D2 2014-10-06 16:11:53
並從Person類中取出readFile()。爲此創建一個單獨的類PersonFiller。 OOP更正確。 – Kastaneda 2014-10-06 16:18:53