Ik werk met een aantal klassen met compositie en ik krijg steeds deze fout (verwacht een identifier) wanneer ik de constructor probeer te implementeren, hier de class-header:
#ifndef STUDENT_H_
#define STUDENT_H_
#include "University.h"
class Student {
public:
Student(); // constructor
friend ostream & operator<<(ostream &, Student &); // print the student data
friend istream & operator>>(istream &, Student &); // to read student data
private:
const int id;
string name;
int marks[5];
Date admissionDate; // Composition
University university; // Composition
};
#endif
wat moet ik doen om deze fout op te lossen?
hier is de cpp, maar ik heb de andere io-functies nog steeds niet geïmplementeerd omdat ik die fout eerst wil oplossen..
#include "Student.h"
Student::Student(){}
ostream & operator<<(ostream &, Student &){}
istream & operator>>(istream &, Student &){}
Antwoord 1, autoriteit 100%
Aangezien een Student
een const int id
-lid heeft, moet u deze initialiseren in de
initialisatie lijst. Bijv.:
Student::Student() : id(0)
{ }
Antwoord 2, autoriteit 98%
Uw constructor moet op de volgende manier worden gedefinieerd
Student::Student() { /* some code */ }