Создание динамического класса в Stack Overflow

У меня есть эта маленькая программа, и мне нужно динамически создавать объект класса.
Смотрите комментарии ниже.

#include <conio.h>

#include "student.h"#include "teacher.h"
int main() {
short choose;

do {

std::cout << "\n1 - Insert student";
std::cout << "\n2 - Insert teacher";
std::cout << "\n3 - Show students";
std::cout << "\n4 - Show teachers";
std::cout << "\n5 - Exit";
std::cout << "\n--> ";
std::cin  >> choose;

Student *students;

switch (choose) {
case 1 :
// When user choose option 1, I would like to create
// a new object "Student", so...
students = new Student();
// But if user choose 1 another time, how I create
// another object "Student" ?
// Could I do something like this?
//  students = new Student[student_counter];
break;
}

} while (choose != 5);

system("pause");
return 0;
}

У студенческого класса есть конструктор.
Спасибо. Если что-то требуется, просто скажите мне.

0

Решение

Просто используйте std::vector<Student>, Там нет необходимости для динамического выделения вообще:

std::vector<Student> students;

do {
switch (choose) {
case 1 :
students.push_back(Student());
break;
}
}while(...)

если ты нужно использовать динамическое распределение, так как это было частью назначения, просто используйте std::vector<Student*> а также students.push_back(new Student), Вы должны будете вручную освободить память впоследствии.

1

Другие решения

Других решений пока нет …