关于指针数组做对象,并输出的问题。。
main省略了,主要问题在这段,编译没有错误,但是不能输出信息到文件#include <iostream>
#include <fstream>
#include <string>
#include <stdio.h>
using namespace std;
const int MAX_STU = 50; //成绩单最大学生数量
//学生类,记录学号和成绩
class Student {
public:
Student(int n, float s): no(n), score(s) { }
friend class ReportTable;
private:
int no; //学号
float score; //分数
};
//课程成绩单类
class ReportTable {
public:
ReportTable(): studentNumber(0) {}
bool addStudent(Student &s); //加入学生
void saveToFile(string filename); //将已加入的学生信息写至文件filename
//void loadFromFile(string filename); //从文件filename读入学生信息并输出至屏幕
//void saveToBinaryFile(string filename); //将已加入的学生信息以二进制的形式写至文件filename
//void loadFromBinaryFile(string filename); //从文件filename读入二进制形式的学生信息并输出至屏幕
private:
int studentNumber; //已存储的学生数量
Student *pStudentArray[MAX_STU]; //指针数组
};
void ReportTable::saveToFile(string filename) {
ofstream outfile(filename.data());
cout<<"====Open data file: "<<filename<<endl;
if (!outfile) {
cout<<"File open error!"<<endl;
return;
}
outfile.open("filename");
for(int i=0;i<studentNumber;i++){
outfile<<pStudentArray[i]<<endl;
}
outfile.close();
cout<<"====Data write succeed!"<<endl<<endl;
}