#include <iostream>
#include <string>
using namespace std;
struct student
{
string name;
string date;
int number;
};
class Group
{
student *a; //переменная-указатель на тип student
int n; //определяет количество студентов в группе
public:
Group(){} //первый коструктор
Group(struct student a1[], int nomer)//второй конструктор
{
n=nomer;
a=new student[n];
for (int i=0;i<n;i++) // присваиваем значение, чтобы имя равно было имени фамилия фамилии и тд
{
a[i].name=a1[i].name;
a[i].date=a1[i].date;
a[i].number=a1[i].number;
}
}
~Group(){}
struct student & operator[](int i)
{
if ((i<n) && (i>=0))
return a[i];//выводится информация о студенте
else// если не выполняется условие, то есть неправильна введена цифра выводим нули
{
student a2;
a2.date='0';
a2.name='0';
a2.number=0;
return a2;
}
}
};
int main()
{
setlocale(LC_ALL, "Russian");
struct student stud[5]={{"Елена","05.10.1999",1},
{"Максим","31.12.1997",6},
{"Артем","5.08.2000",7},
{"Анастасия","24.05.2001",5},
{"Дарья","13.02.2000",3}};
Group g1(stud, 5); //создается объект класса
cout<<"Студентов в базе 5"<<endl;
for(int i=0;i<5;i++)
{
cout<<"Имя:"<<g1[i].name<<endl;
cout<<"Дата рождения:"<<g1[i].date<<endl;
cout<<"Номер:"<<g1[i].number<<endl;
cout<<endl;
}
g1[1].name="newname";
for(int i=0;i<5;i++)
{
cout<<"Имя:"<<g1[i].name<<endl;
cout<<"Дата рождения:"<<g1[i].date<<endl;
cout<<"Номер:"<<g1[i].number<<endl;
cout<<endl;
}
return 0;
}