Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Пособие СS_Шульга.doc
Скачиваний:
48
Добавлен:
12.02.2015
Размер:
703.49 Кб
Скачать

Int year_tr;

//************************Конструктор по умолчанию**********************************

public CStudent()

{

name = "Unknown";

speciality = "Unknown";

gender = gender_type.unknown;

year_tr = 0;

n++;

}

//******************Конструктор, задающий фамилию студента**************************

public CStudent(string n)

: this()

{

if (name != "") name = n;

else name = "Unknown";

}

//**********Конструктор, заполняющий все поля класса заданными параметрами**********

public CStudent(string name, string speciality, gender_type gender, int year_tr)

{

if (name!="") this.name = name;

else this.name="Unknown";

if (speciality!= "") this.speciality = speciality;

else this.speciality = "Unknown";

if (Enum.IsDefined(typeof(gender_type), gender)) this.gender = gender;

/*Используется метод IsDefined класса Enum, который возращает истину, если второй парамерт принадлежит перечислению, указанному в качестве первого параметра*/

else throw new Exception("При создании студента пол указан неверно");

if (year_tr >=1 && year_tr <=5) this.year_tr = year_tr;

else throw new Exception("При создании студента курс обучения указан неверно. Значение должно быть интевале [1,5]");

n++;

}

// *****************Cвойство для доступа к полю name*******************************

public string Name

{

get { return name;}

set

{

if (name == "Unknown")

{

if (value == "") name = "Unknown";

else name = value;

}

}

}

// ***************Cвойство для доступа к полю speciality****************************

public string Speciality

{

get { return speciality;}

set

{

if (speciality != value)

{

if (value == "") speciality = "Unknown";

else speciality = value;

}

}

}

// ***************Cвойство для доступа к полю year********************************

public int Year

{

get {return year_tr; }

set

{ // способ установки свойства

if (value >= 1 && value <= 5)

{

year_tr = value;

}

else throw new Exception("При изменении курса студента указано недопустимое значение. Значение должно быть интевале [1,5]");

}

}

// ****************Cвойство для доступа к полю gender****************************

public gender_type Gender

{

get {return gender; }

set

{