Классы, их инициализация с помощью конструктора и инициализатора, перегрузка, страница 6

            k=(size_info(this->marks));

            for (i=0;i<k;i++)

            {

                        mid+=this->marks[i];

            }

            mid/=k;

            return mid;

}

4.2.6.  student_constructor.h

student::student()

{          int k=0;

            char c[]=__TIME__;

            this->surname=new char;

            *(this->surname)='\0';

            this->name=new char;

            *(this->name)='\0';

            this->sec_name=new char;

            *(this->sec_name)='\0';

            while (c[k]!=' ') k--;

            this->begin=atoi(c+k);

            this->end=begin+student::study_time;

            this->marks=new int(0);

            this->group=new char[5];

            strcpy(group,"no");

            if (student::l_first==NULL)

            {

                        student::l_first=this;

                        student::l_last=this;

                        this->priv=NULL;

                        this->next=NULL;

            }

            else

            {

                        student::l_first->priv=this;

                        this->priv=NULL;

                        this->next=student::l_first;

                        student::l_first=this;

            }

}

student::student(char* sur,char* nam,char* snam,int start,char* gr,int* mark) : end(start+student::study_time)

{

            this->student::student();

            this->new_surname(sur,0);

            this->new_name(nam,0);

            this->new_sec_name(snam,0);

            this->new_accession(start);

            this->new_group(gr);

            this->new_marks(mark);

            /*if (student::l_last==this) student::l_last=this->priv;

            if (student::l_first==this) student::l_first=this->next;

            if (this->priv!=NULL) (this->priv)->next=this->next;