This is my student class.
#define STUDENT_H #include <string> #include <fstream> using namespace std; class Student { public: Student(); Student(string name, string surname, int age, int marks[]); void setStudent(string name,string surname,int age,int marks[]); string getName(); string getSurname(); int getAge(); int getMarks(); void printStudent(); void writeStudent(ofstream &fout); private: string name; string surname; int age; int marks[5]; string subjects[5]; }; Here is its implementation
#include "Student.h" #include <iostream> #include <fstream> using namespace std; Student::Student() { subjects[0]="algebra"; subjects[1]="art"; subjects[2]="chemistry"; subjects[3]="geometry"; subjects[4]="physics"; } Student::Student(string name, string surname, int age, int marks[]) { this->name=name; this->surname=surname; this->age=age; for(int i=0; i<5; i++){ this->marks[i]=marks[i]; } } void Student::setStudent(string name,string surname,int age,int marks[]){ this->name=name; this->surname=surname; this->age=age; for(int i=0; i<5; i++){ this->marks[i]=marks[i]; } } string Student::getName() { return name; } string Student::getSurname(){ return surname; } int Student::getAge(){ return age; } int Student::getMarks(){ for(int i=0; i<5; i++){ return marks[i]; } } void Student::printStudent(){ cout<<"Name: "<<getName()<<endl; cout<<"Surname: "<<getSurname()<<endl; cout<<"Age: "<<getAge()<<endl; for(int i=0;i<5;i++) { cout<<subjects[i]<<"="<<((getMarks()>=0)?getMarks():0)<<((i!=4)?", ":""); } cout<<endl; } void Student::writeStudent(ofstream &fout){ fout<<getName()<<endl; fout<<getSurname()<<endl; fout<<getAge()<<endl; for(int i=0;i<5;i++) fout<<getMarks()<<" "; fout<<endl; } I want to create functions for writing and reading to a file. Started with file write function: writeStudent(ofstream &fout) . But when doing it gives an error
no 'void Student :: writeStudent (std :: ofstream &)' member function.
I can not fix it.
using namespacein header files. - αλεχολυτ