I am a total new to C++. Can anybody explain me why it gives a Heap Exception with the following Code. I am trying to create an array from Type Student with different Student objects. The Code compiles sometimes successfully, and sometimes it returns -1073741510 with a longer time.
#include <iostream>
using namespace std;
class Student{
private:
const char* vn;
const char* nn;
int mn;
int fs;
public:
Student() = default;
Student(const char* vn, const char* nn, int mn, int fs): vn(vn), nn(nn), mn(mn), fs(fs){}
const char* getVn() {
return vn;
}
const char* getNn() {
return nn;
}
int getMnr() {
return mn;
}
int getFs() {
return fs;
}
};
class Verwaltung{
private:
unsigned counter = 0;
Student *s = new Student[counter];
public:
void add(Student &student){
s[counter]=student;
cout << counter << " " << s[counter].getNn() << " " << s[counter].getVn() << " " << s[counter].getMnr() << " " << s[counter].getFs() << endl;
++counter;
}
};
int main(){
Student s1("Micha", "Nugel", 3213, 8);
Student s2("Mohan", "Sasa", 32211, 3);
Student s3("Johan", "Goat", 3213, 2);
Student s4("Meise", "Kreise", 3123, 1);
Verwaltung v;
v.add(s1);
v.add(s2);
v.add(s3);
v.add(s4);
}